| @@ -131,8 +131,8 @@ | ||
| 131 | 131 | $layouts = [ | 
| 132 | 132 | // "taxonomy/$term.$format.$ext", // e.g.: taxonomy/velo.html.twig | 
| 133 | 133 | // "taxonomy/$singular.$format.$ext", // e.g.: taxonomy/tag.html.twig | 
| 134 | - "_default/term.$format.$ext", // e.g.: _default/term.html.twig | |
| 135 | - "_default/list.$format.$ext", // e.g.: _default/list.html.twig | |
| 134 | + "_default/term.$format.$ext", // e.g.: _default/term.html.twig | |
| 135 | + "_default/list.$format.$ext", // e.g.: _default/list.html.twig | |
| 136 | 136 | ]; | 
| 137 | 137 |                  if ($page->hasVariable('term')) { | 
| 138 | 138 |                      $layouts = array_merge(["taxonomy/{$page->getVariable('term')}.$format.$ext"], $layouts); | 
| @@ -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')); | 
| @@ -141,7 +141,7 @@ | ||
| 141 | 141 | /** | 
| 142 | 142 | * Adds navigation (next and prev) to section subpages. | 
| 143 | 143 | */ | 
| 144 | - protected function addNavigationLinks(PagesCollection $pages, string|null $sortBy = null, bool $circular = false): void | |
| 144 | + protected function addNavigationLinks(PagesCollection $pages, string | null $sortBy = null, bool $circular = false): void | |
| 145 | 145 |      { | 
| 146 | 146 | $pagesAsArray = $pages->toArray(); | 
| 147 | 147 |          if ($sortBy === null || $sortBy == 'date' || $sortBy == 'updated') { | 
| @@ -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)); | 
| @@ -83,81 +83,81 @@ | ||
| 83 | 83 | ], | 
| 84 | 84 | 'output' => [ | 
| 85 | 85 | 'formats' => [ | 
| 86 | - [ // e.g.: blog/post-1/index.html | |
| 86 | + [// e.g.: blog/post-1/index.html | |
| 87 | 87 | 'name' => 'html', | 
| 88 | 88 | 'mediatype' => 'text/html', | 
| 89 | 89 | 'filename' => 'index', | 
| 90 | 90 | 'extension' => 'html', | 
| 91 | 91 | ], | 
| 92 | - [ // e.g.: blog/atom.xml | |
| 92 | + [// e.g.: blog/atom.xml | |
| 93 | 93 | 'name' => 'atom', | 
| 94 | 94 | 'mediatype' => 'application/atom+xml', | 
| 95 | 95 | 'filename' => 'atom', | 
| 96 | 96 | 'extension' => 'xml', | 
| 97 | 97 | 'exclude' => ['redirect', 'paginated'], | 
| 98 | 98 | ], | 
| 99 | - [ // e.g.: blog/rss.xml | |
| 99 | + [// e.g.: blog/rss.xml | |
| 100 | 100 | 'name' => 'rss', | 
| 101 | 101 | 'mediatype' => 'application/rss+xml', | 
| 102 | 102 | 'filename' => 'rss', | 
| 103 | 103 | 'extension' => 'xml', | 
| 104 | 104 | 'exclude' => ['redirect', 'paginated'], | 
| 105 | 105 | ], | 
| 106 | - [ // e.g.: blog.json | |
| 106 | + [// e.g.: blog.json | |
| 107 | 107 | 'name' => 'json', | 
| 108 | 108 | 'mediatype' => 'application/json', | 
| 109 | 109 | 'extension' => 'json', | 
| 110 | 110 | 'exclude' => ['redirect'], | 
| 111 | 111 | ], | 
| 112 | - [ // e.g.: blog.xml | |
| 112 | + [// e.g.: blog.xml | |
| 113 | 113 | 'name' => 'xml', | 
| 114 | 114 | 'mediatype' => 'application/xml', | 
| 115 | 115 | 'extension' => 'xml', | 
| 116 | 116 | 'exclude' => ['redirect'], | 
| 117 | 117 | ], | 
| 118 | - [ // e.g.: robots.txt | |
| 118 | + [// e.g.: robots.txt | |
| 119 | 119 | 'name' => 'txt', | 
| 120 | 120 | 'mediatype' => 'text/plain', | 
| 121 | 121 | 'extension' => 'txt', | 
| 122 | 122 | 'exclude' => ['redirect'], | 
| 123 | 123 | ], | 
| 124 | - [ // e.g.: blog/post-1/amp/index.html | |
| 124 | + [// e.g.: blog/post-1/amp/index.html | |
| 125 | 125 | 'name' => 'amp', | 
| 126 | 126 | 'mediatype' => 'text/html', | 
| 127 | 127 | 'subpath' => 'amp', | 
| 128 | 128 | 'filename' => 'index', | 
| 129 | 129 | 'extension' => 'html', | 
| 130 | 130 | ], | 
| 131 | - [ // e.g.: sw.js | |
| 131 | + [// e.g.: sw.js | |
| 132 | 132 | 'name' => 'js', | 
| 133 | 133 | 'mediatype' => 'application/javascript', | 
| 134 | 134 | 'extension' => 'js', | 
| 135 | 135 | ], | 
| 136 | - [ // e.g.: manifest.webmanifest | |
| 136 | + [// e.g.: manifest.webmanifest | |
| 137 | 137 | 'name' => 'webmanifest', | 
| 138 | 138 | 'mediatype' => 'application/manifest+json', | 
| 139 | 139 | 'extension' => 'webmanifest', | 
| 140 | 140 | ], | 
| 141 | - [ // e.g.: atom.xsl | |
| 141 | + [// e.g.: atom.xsl | |
| 142 | 142 | 'name' => 'xsl', | 
| 143 | 143 | 'mediatype' => 'application/xml', | 
| 144 | 144 | 'extension' => 'xsl', | 
| 145 | 145 | ], | 
| 146 | - [ // e.g.: blog/feed.json | |
| 146 | + [// e.g.: blog/feed.json | |
| 147 | 147 | 'name' => 'jsonfeed', | 
| 148 | 148 | 'mediatype' => 'application/json', | 
| 149 | 149 | 'filename' => 'feed', | 
| 150 | 150 | 'extension' => 'json', | 
| 151 | 151 | 'exclude' => ['redirect', 'paginated'], | 
| 152 | 152 | ], | 
| 153 | - [ // e.g.: video/embed.html | |
| 153 | + [// e.g.: video/embed.html | |
| 154 | 154 | 'name' => 'iframe', | 
| 155 | 155 | 'mediatype' => 'text/html', | 
| 156 | 156 | 'filename' => 'embed', | 
| 157 | 157 | 'extension' => 'html', | 
| 158 | 158 | 'exclude' => ['redirect', 'paginated'], | 
| 159 | 159 | ], | 
| 160 | - [ // e.g.: video/embed.json | |
| 160 | + [// e.g.: video/embed.json | |
| 161 | 161 | 'name' => 'oembed', | 
| 162 | 162 | 'mediatype' => 'application/json+oembed', | 
| 163 | 163 | 'filename' => 'embed', | 
| @@ -55,7 +55,7 @@ discard block | ||
| 55 | 55 | * desc_title: false|true | 
| 56 | 56 | * reverse: false|true | 
| 57 | 57 | */ | 
| 58 | - public function sortBy(array|string|null $options): self | |
| 58 | + public function sortBy(array | string | null $options): self | |
| 59 | 59 |      { | 
| 60 | 60 | $sortBy = \is_string($options) ? $options : $options['variable'] ?? 'date'; | 
| 61 | 61 |          $sortMethod = \sprintf('sortBy%s', ucfirst(str_replace('updated', 'date', $sortBy))); | 
| @@ -69,7 +69,7 @@ discard block | ||
| 69 | 69 | /** | 
| 70 | 70 | * Sorts pages by date (or 'updated'): the most recent first. | 
| 71 | 71 | */ | 
| 72 | - public function sortByDate(array|string|null $options = null): self | |
| 72 | + public function sortByDate(array | string | null $options = null): self | |
| 73 | 73 |      { | 
| 74 | 74 | $opt = []; | 
| 75 | 75 | // backward compatibility (i.e. $options = 'updated') | 
| @@ -103,7 +103,7 @@ discard block | ||
| 103 | 103 | /** | 
| 104 | 104 | * Sorts pages by title (natural sort). | 
| 105 | 105 | */ | 
| 106 | - public function sortByTitle(array|string|null $options = null): self | |
| 106 | + public function sortByTitle(array | string | null $options = null): self | |
| 107 | 107 |      { | 
| 108 | 108 | $opt = []; | 
| 109 | 109 | // options | 
| @@ -117,7 +117,7 @@ discard block | ||
| 117 | 117 | /** | 
| 118 | 118 | * Sorts by weight (the heaviest first). | 
| 119 | 119 | */ | 
| 120 | - public function sortByWeight(array|string|null $options = null): self | |
| 120 | + public function sortByWeight(array | string | null $options = null): self | |
| 121 | 121 |      { | 
| 122 | 122 | $opt = []; | 
| 123 | 123 | // options | 
| @@ -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': | 
| @@ -53,8 +53,8 @@ | ||
| 53 | 53 | |
| 54 | 54 | // handles options | 
| 55 | 55 | $canonical = null; // if true prefix url with baseurl config | 
| 56 | - $format = null; // output format | |
| 57 | - $language = null; // force language | |
| 56 | + $format = null; // output format | |
| 57 | + $language = null; // force language | |
| 58 | 58 | extract(\is_array($options) ? $options : [], EXTR_IF_EXISTS); | 
| 59 | 59 | |
| 60 | 60 | // canonical URL? |