900, 'name' => __('Tag'), 'description' => __('Highlight tags of your blog.'), 'ignore' => ['pre','code','a'], 'class' => ['a.epc-tag'], 'replace' => '%s', 'widget' => '%s', ]; } protected function initSettings(): array { return [ 'style' => ['text-decoration: none; border-bottom: 3px double #CCCCCC;'], 'notag' => ['h1','h2','h3'], 'template' => ['EntryContent'], 'page' => ['post.html'], ]; } public function publicContent(string $tag, array $args): void { if (!App::plugins()->moduleExists('tags')) { return; } $metas = App::meta()->getMetadata(['meta_type' => 'tag']); while ($metas->fetch()) { $args[0] = Epc::replaceString( $metas->f('meta_id'), sprintf($this->replace, App::blog()->url() . App::url()->getBase('tag') . '/' . $metas->f('meta_id'), '\\1'), $args[0], $this ); } } public function widgetList(string $content, WidgetsElement $w, ArrayObject $list): void { if (!App::plugins()->moduleExists('tags')) { return; } $metas = App::meta()->getMetadata(['meta_type' => 'tag']); while ($metas->fetch()) { $list[] = Epc::matchString( $metas->f('meta_id'), sprintf($this->widget, App::blog()->url() . App::url()->getBase('tag') . '/' . $metas->f('meta_id'), '\\1'), $content, $this ); } } }