3 namespace BookStack\Actions;
5 class TagClassGenerator
12 public function __construct(array $tags)
20 public function generate(): array
24 foreach ($this->tags as $tag) {
25 $name = $this->normalizeTagClassString($tag->name);
26 $value = $this->normalizeTagClassString($tag->value);
27 $classes[] = 'tag-name-' . $name;
29 $classes[] = 'tag-value-' . $value;
30 $classes[] = 'tag-pair-' . $name . '-' . $value;
34 return array_unique($classes);
37 public function generateAsString(): string
39 return implode(' ', $this->generate());
42 protected function normalizeTagClassString(string $value): string
44 $value = str_replace(' ', '', strtolower($value));
45 $value = str_replace('-', '', strtolower($value));