You are here

public static function Markdown::processTextFormat in Markdown 3.0.x

File

src/Plugin/Filter/Markdown.php, line 197

Class

Markdown
Provides a filter for Markdown.

Namespace

Drupal\markdown\Plugin\Filter

Code

public static function processTextFormat(&$element, FormStateInterface $form_state, &$complete_form) {
  $formats = filter_formats();

  /** @var \Drupal\filter\FilterFormatInterface $format */
  $format = isset($formats[$element['#format']]) ? $formats[$element['#format']] : FALSE;
  if ($format && ($markdown = $format
    ->filters('markdown')) && $markdown instanceof MarkdownFilterInterface && $markdown
    ->isEnabled()) {
    $element['format']['help']['about'] = [
      '#type' => 'link',
      '#title' => t('@iconStyling with Markdown is supported', [
        // Shamelessly copied from GitHub's Octicon icon set.
        // @todo Revisit this?
        // @see https://github.com/primer/octicons/blob/master/lib/svg/markdown.svg
        '@icon' => new FormattableMarkup('<svg class="octicon octicon-markdown v-align-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true" style="fill: currentColor;margin-right: 5px;vertical-align: text-bottom;"><path fill-rule="evenodd" d="M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z"></path></svg>', []),
      ]),
      '#url' => Url::fromRoute('filter.tips_all')
        ->setOptions([
        'attributes' => [
          'class' => [
            'markdown',
          ],
          'target' => '_blank',
        ],
      ]),
    ];
  }
  return $element;
}