| @@ -60,7 +60,7 @@ | ||
| 60 | 60 | /** | 
| 61 | 61 |       * {@inheritdoc} | 
| 62 | 62 | */ | 
| 63 | - public function log($level, string|\Stringable $message, array $context = []): void | |
| 63 | + public function log($level, string | \Stringable $message, array $context = []): void | |
| 64 | 64 |      { | 
| 65 | 65 | $output = $this->output; | 
| 66 | 66 |          $output->getFormatter()->setStyle('text', new OutputFormatterStyle('white')); | 
| @@ -184,7 +184,7 @@ | ||
| 184 | 184 | /** | 
| 185 | 185 | * Returns the property value(s) of an output format. | 
| 186 | 186 | */ | 
| 187 | - public function getOutputProperty(string $name, string $property): string|array|null | |
| 187 | + public function getOutputProperty(string $name, string $property): string | array | null | |
| 188 | 188 |      { | 
| 189 | 189 | return $this->config->getOutputFormatProperty($name, $property); | 
| 190 | 190 | } | 
| @@ -46,7 +46,7 @@ | ||
| 46 | 46 | /** | 
| 47 | 47 |       * {@inheritdoc} | 
| 48 | 48 | */ | 
| 49 | - public function log($level, string|\Stringable $message, array $context = []): void | |
| 49 | + public function log($level, string | \Stringable $message, array $context = []): void | |
| 50 | 50 |      { | 
| 51 | 51 |          if (!isset($this->verbosityLevelMap[$level])) { | 
| 52 | 52 |              throw new InvalidArgumentException(\sprintf('The log level "%s" does not exist.', $level)); | 
| @@ -282,7 +282,7 @@ discard block | ||
| 282 | 282 | * | 
| 283 | 283 | * @return Asset | 
| 284 | 284 | */ | 
| 285 | - public function asset($path, array|null $options = null): Asset | |
| 285 | + public function asset($path, array | null $options = null): Asset | |
| 286 | 286 |      { | 
| 287 | 287 |          if (!\is_string($path) && !\is_array($path)) { | 
| 288 | 288 |              throw new RuntimeException(\sprintf('Argument of "%s()" must a string or an array.', \Cecil\Util::formatMethodName(__METHOD__))); | 
| @@ -933,7 +933,7 @@ discard block | ||
| 933 | 933 | /** | 
| 934 | 934 | * Hashing an object, an array or a string (with algo, md5 by default). | 
| 935 | 935 | */ | 
| 936 | - public function hash(object|array|string $data, $algo = 'md5'): string | |
| 936 | + public function hash(object | array | string $data, $algo = 'md5'): string | |
| 937 | 937 |      { | 
| 938 | 938 |          switch (\gettype($data)) { | 
| 939 | 939 | case 'object': | 
| @@ -67,7 +67,7 @@ discard block | ||
| 67 | 67 |      { | 
| 68 | 68 | $this->data->import($config, $mode); | 
| 69 | 69 | $this->setFromEnv(); // override configuration with environment variables | 
| 70 | - $this->validate(); // validate configuration | |
| 70 | + $this->validate(); // validate configuration | |
| 71 | 71 | } | 
| 72 | 72 | |
| 73 | 73 | /** | 
| @@ -385,7 +385,7 @@ discard block | ||
| 385 | 385 | * | 
| 386 | 386 | * @throws ConfigException | 
| 387 | 387 | */ | 
| 388 | - public function getOutputFormatProperty(string $name, string $property): string|array|null | |
| 388 | + public function getOutputFormatProperty(string $name, string $property): string | array | null | |
| 389 | 389 |      { | 
| 390 | 390 |          $properties = array_column((array) $this->get('output.formats'), $property, 'name'); | 
| 391 | 391 |          if (empty($properties)) { | 
| @@ -65,7 +65,7 @@ discard block | ||
| 65 | 65 | 'metatags' => [ | 
| 66 | 66 | 'robots' => 'index,follow', // SEO robots default directive | 
| 67 | 67 | ], | 
| 68 | - 'pages' => [ // Markdown content management | |
| 68 | + 'pages' => [// Markdown content management | |
| 69 | 69 | 'dir' => 'pages', // pages files directory | 
| 70 | 70 | 'ext' => ['md', 'markdown', 'mdown', 'mkdn', 'mkd', 'text', 'txt'], // supported files formats, by extension | 
| 71 | 71 | 'exclude' => ['vendor', 'node_modules'], // directories, paths and files name to exclude (accepts globs, strings and regexes) | 
| @@ -99,12 +99,12 @@ discard block | ||
| 99 | 99 | 'caption' => false, // puts the image in a <figure> element and adds a <figcaption> containing the title | 
| 100 | 100 | 'placeholder' => '', // fill <img> background before loading (`color` or `lqip`) | 
| 101 | 101 | 'class' => '', // puts default CSS class(es) to each image | 
| 102 | - 'remote' => [ // turns remote images into Assets to process them (disable with `false`) | |
| 102 | + 'remote' => [// turns remote images into Assets to process them (disable with `false`) | |
| 103 | 103 | 'fallback' => '', // path to the fallback image, stored in assets directory (empty by default) | 
| 104 | 104 | ], | 
| 105 | 105 | ], | 
| 106 | 106 | 'links' => [ | 
| 107 | - 'embed' => [ // turns links in embedded content if possible | |
| 107 | + 'embed' => [// turns links in embedded content if possible | |
| 108 | 108 | 'enabled' => false, | 
| 109 | 109 | 'video' => ['mp4', 'webm'], // supported video file types, by extension | 
| 110 | 110 | 'audio' => ['mp3', 'ogg', 'wav'], // supported audio file types, by extension | 
| @@ -125,16 +125,16 @@ discard block | ||
| 125 | 125 | // <position> => 'Cecil\Generator\<class>', | 
| 126 | 126 | //], | 
| 127 | 127 | ], | 
| 128 | - 'data' => [ // data files | |
| 128 | + 'data' => [// data files | |
| 129 | 129 | 'dir' => 'data', // data files directory | 
| 130 | 130 | 'ext' => ['yaml', 'yml', 'json', 'xml', 'csv'], // loaded files by extension | 
| 131 | 131 | 'load' => true, // enables `site.data` collection | 
| 132 | 132 | ], | 
| 133 | - 'assets' => [ // assets: CSS, JS, images, etc. | |
| 133 | + 'assets' => [// assets: CSS, JS, images, etc. | |
| 134 | 134 | 'dir' => 'assets', // assets files directory | 
| 135 | 135 | 'target' => '', // where processed assets are saved (in output directory) | 
| 136 | 136 | 'fingerprint' => true, // enables fingerprinting | 
| 137 | - 'compile' => [ // Sass files compilation | |
| 137 | + 'compile' => [// Sass files compilation | |
| 138 | 138 | 'style' => 'expanded', // compilation style (`expanded` or `compressed`) | 
| 139 | 139 | 'import' => ['sass', 'scss', 'node_modules'], // list of imported directories | 
| 140 | 140 | 'sourcemap' => false, // enables sourcemap in debug mode | 
| @@ -145,7 +145,7 @@ discard block | ||
| 145 | 145 | 'optimize' => false, // enables images optimization with JpegOptim, Optipng, Pngquant 2, SVGO 1, Gifsicle, cwebp, avifenc | 
| 146 | 146 | 'quality' => 75, // image quality after optimization or resize | 
| 147 | 147 | 'formats' => [], // creates and adds formats images as `source` (e.g.: ['webp', 'avif']) | 
| 148 | - 'responsive' => [ // options of generated responsive images | |
| 148 | + 'responsive' => [// options of generated responsive images | |
| 149 | 149 | 'widths' => [480, 640, 768, 1024, 1366, 1600, 1920], // `srcset` widths | 
| 150 | 150 | 'sizes' => ['default' => '100vw'] // default `sizes` attribute | 
| 151 | 151 | ], | 
| @@ -159,26 +159,26 @@ discard block | ||
| 159 | 159 | //] | 
| 160 | 160 | ], | 
| 161 | 161 | ], | 
| 162 | - 'static' => [ // static files | |
| 162 | + 'static' => [// static files | |
| 163 | 163 | 'dir' => 'static', // static files directory | 
| 164 | 164 | 'target' => '', // subdirectory where files are copied | 
| 165 | 165 | 'exclude' => ['sass', 'scss', '*.scss', 'package*.json', 'node_modules'], // excluded files by extension or pattern | 
| 166 | 166 | 'load' => false, // enables `site.static` collection | 
| 167 | 167 | ], | 
| 168 | - 'layouts' => [ // layouts and templates | |
| 168 | + 'layouts' => [// layouts and templates | |
| 169 | 169 | 'dir' => 'layouts', // Twig templates directory | 
| 170 | - 'images' => [ // how to handle images in templates | |
| 170 | + 'images' => [// how to handle images in templates | |
| 171 | 171 | 'formats' => [], // creates and adds formats images as `source` (e.g.: ['webp', 'avif']) | 
| 172 | 172 | 'responsive' => false, // enables responsive images | 
| 173 | 173 | ], | 
| 174 | - 'translations' => [ // i18n | |
| 174 | + 'translations' => [// i18n | |
| 175 | 175 | 'dir' => 'translations', // translations files directory | 
| 176 | 176 | 'formats' => ['yaml', 'mo'], // translations supported formats | 
| 177 | 177 | ], | 
| 178 | - 'extensions' => [ // list of Twig extensions class | |
| 178 | + 'extensions' => [// list of Twig extensions class | |
| 179 | 179 | //'<name>' => 'Cecil\Renderer\Extension\<class>', | 
| 180 | 180 | ], | 
| 181 | - 'components' => [ // components | |
| 181 | + 'components' => [// components | |
| 182 | 182 | 'dir' => 'components', // components directory | 
| 183 | 183 | 'ext' => 'twig', // components files extension | 
| 184 | 184 | ], | 
| @@ -186,7 +186,7 @@ discard block | ||
| 186 | 186 | // '<section>' => '<layout>', | 
| 187 | 187 | //] | 
| 188 | 188 | ], | 
| 189 | - 'output' => [ // output formats and post process | |
| 189 | + 'output' => [// output formats and post process | |
| 190 | 190 | 'dir' => '_site', // output directory | 
| 191 | 191 | //'formats' => [ // https://cecil.app/documentation/configuration/#formats | 
| 192 | 192 | // [ | 
| @@ -197,7 +197,7 @@ discard block | ||
| 197 | 197 | // 'exclude' => ['variable1', 'variable2'], | 
| 198 | 198 | // ], | 
| 199 | 199 | //], | 
| 200 | - 'pagetypeformats' => [ // formats applied by page type | |
| 200 | + 'pagetypeformats' => [// formats applied by page type | |
| 201 | 201 | 'page' => ['html'], | 
| 202 | 202 | 'homepage' => ['html', 'atom'], | 
| 203 | 203 | 'section' => ['html', 'atom'], | 
| @@ -208,10 +208,10 @@ discard block | ||
| 208 | 208 | // '<name>' => 'Cecil\Renderer\PostProcessor\<class>', | 
| 209 | 209 | //], | 
| 210 | 210 | ], | 
| 211 | - 'cache' => [ // cache management | |
| 211 | + 'cache' => [// cache management | |
| 212 | 212 | 'enabled' => true, // disable with `false` | 
| 213 | 213 | 'dir' => '.cache', // cache files root directory | 
| 214 | - 'assets' => [ // assets cache | |
| 214 | + 'assets' => [// assets cache | |
| 215 | 215 | 'ttl' => null, // assets cache TTL (no expiration by default) | 
| 216 | 216 | 'remote' => [ | 
| 217 | 217 | 'ttl' => 604800, // remote assets cache TTL (7 days by default) | 
| @@ -220,7 +220,7 @@ discard block | ||
| 220 | 220 | 'templates' => true, // disable Twig templates cache with `false` | 
| 221 | 221 | 'translations' => true, // disable translations dictionary cache with `false` | 
| 222 | 222 | ], | 
| 223 | - 'optimize' => [ // files optimization | |
| 223 | + 'optimize' => [// files optimization | |
| 224 | 224 | 'enabled' => false, // enables files optimization | 
| 225 | 225 | 'html' => [ | 
| 226 | 226 | 'enabled' => true, // enables HTML files optimization | 
| @@ -63,7 +63,7 @@ discard block | ||
| 63 | 63 | * reverse => false|true | 
| 64 | 64 | * ] | 
| 65 | 65 | */ | 
| 66 | - public function sortBy(string|array|null $options): self | |
| 66 | + public function sortBy(string | array | null $options): self | |
| 67 | 67 |      { | 
| 68 | 68 | $sortBy = \is_string($options) ? $options : $options['variable'] ?? 'date'; | 
| 69 | 69 |          $sortMethod = \sprintf('sortBy%s', ucfirst(str_replace('updated', 'date', $sortBy))); | 
| @@ -77,7 +77,7 @@ discard block | ||
| 77 | 77 | /** | 
| 78 | 78 | * Sorts pages by date (or 'updated'): the most recent first. | 
| 79 | 79 | */ | 
| 80 | - public function sortByDate(string|array|null $options = null): self | |
| 80 | + public function sortByDate(string | array | null $options = null): self | |
| 81 | 81 |      { | 
| 82 | 82 | $opt = []; | 
| 83 | 83 | // backward compatibility (i.e. $options = 'updated') | 
| @@ -111,7 +111,7 @@ discard block | ||
| 111 | 111 | /** | 
| 112 | 112 | * Sorts pages by title (natural sort). | 
| 113 | 113 | */ | 
| 114 | - public function sortByTitle(string|array|null $options = null): self | |
| 114 | + public function sortByTitle(string | array | null $options = null): self | |
| 115 | 115 |      { | 
| 116 | 116 | $opt = []; | 
| 117 | 117 | // options | 
| @@ -125,7 +125,7 @@ discard block | ||
| 125 | 125 | /** | 
| 126 | 126 | * Sorts by weight (the heaviest first). | 
| 127 | 127 | */ | 
| 128 | - public function sortByWeight(string|array|null $options = null): self | |
| 128 | + public function sortByWeight(string | array | null $options = null): self | |
| 129 | 129 |      { | 
| 130 | 130 | $opt = []; | 
| 131 | 131 | // options | 
| @@ -304,7 +304,7 @@ | ||
| 304 | 304 | /** | 
| 305 | 305 | * Set configuration. | 
| 306 | 306 | */ | 
| 307 | - public function setConfig(array|Config $config): self | |
| 307 | + public function setConfig(array | Config $config): self | |
| 308 | 308 |      { | 
| 309 | 309 |          if (\is_array($config)) { | 
| 310 | 310 | $config = new Config($config); | 
| @@ -58,8 +58,8 @@ | ||
| 58 | 58 | |
| 59 | 59 | // handles options | 
| 60 | 60 | $canonical = null; // if true prefix url with baseurl config | 
| 61 | - $format = null; // output format | |
| 62 | - $language = null; // force language | |
| 61 | + $format = null; // output format | |
| 62 | + $language = null; // force language | |
| 63 | 63 | extract(\is_array($options) ? $options : [], EXTR_IF_EXISTS); | 
| 64 | 64 | |
| 65 | 65 | // base URL |