public static function generateTag(string $tagName, array $attributes = []): string
  {
    $html = '<';
    $html .= $tagName;
    foreach ($attributes as $name => $value)
    {
      // Ignore attributes with leading underscore.
      if (strpos($name, '_')!==0) $html .= self::generateAttribute($name, $value);
    }
    $html .= '>';

    return $html;
  }