getOutput(); $out->addModules([ "ext.isekai.buttonLink" ]); if (!empty($params['page'])) { $title = Title::newFromText($params['page']); if ($title) { $params['href'] = $title->getFullURL(); } } $framed = true; if (!empty($params['frameless']) && $params['frameless']) { $framed = false; } $flags = []; $primary = true; $type = 'progressive'; if (!empty($params['type'])) { switch ($params['type']) { case 'progressive': // default style break; case 'default': $primary = false; $type = null; break; case 'secondary': $primary = false; break; } } if (!empty($params['destructive']) && $params['destructive']) { $flags[] = 'destructive'; } if ($primary) { $flags[] = 'primary'; } if ($type) { $flags[] = $type; } $flags = implode(' ', $flags); $html = Html::element('a', [ 'class' => 'isekai-buttonlink', 'href' => $params['href'] || '#', 'target' => $params['target'] || '_self', 'data-framed' => $framed ? 'true' : 'false', 'data-flags' => $flags ], $text); return [$html, "markerType" => 'nowiki']; } }