markdown.module in Markdown 3.0.x
Same filename and directory in other branches
Markdown module.
File
markdown.moduleView source
<?php
/**
* @file
* Markdown module.
*/
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Render\Element;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\markdown\Markdown;
/**
* Implements hook_help().
*
* {@inheritdoc}
*/
function markdown_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
case 'help.page.markdown':
return Markdown::loadPath($route_name, __DIR__ . '/README.md');
}
}
/**
* Implements hook_element_info_alter().
*
* {@inheritdoc}
*/
function markdown_element_info_alter(array &$info) {
$info['text_format']['#process'][] = [
'\\Drupal\\markdown\\Plugin\\Filter\\Markdown',
'processTextFormat',
];
}
/**
* Implements hook_form_FORM_ID_alter().
*
* {@inheritdoc}
*/
function markdown_form_filter_format_edit_form_alter(&$form, FormStateInterface $form_state) {
static $compatibleFilters;
if (!isset($compatibleFilters)) {
/** @var \Drupal\filter\FilterPluginManager $filterManager */
$filterManager = \Drupal::service('plugin.manager.filter');
$compatibleFilters = array_fill_keys(array_keys($filterManager
->getDefinitions()), TRUE);
$compatibleFilters['filter_autop'] = FALSE;
$compatibleFilters['filter_html'] = FALSE;
$compatibleFilters['filter_htmlcorrector'] = FALSE;
$compatibleFilters['filter_html_escape'] = FALSE;
$compatibleFilters['filter_url'] = FALSE;
\Drupal::moduleHandler()
->alter('markdown_compatible_filters', $compatibleFilters);
$compatibleFilters = array_keys(array_filter($compatibleFilters));
}
foreach (Element::children($form['filters']['status']) as $name) {
if (!in_array($name, $compatibleFilters, TRUE)) {
$form['filters']['status']['markdown']['#states']['enabled']['[name="filters[' . $name . '][status]"]'] = [
'checked' => FALSE,
];
$form['filters']['status'][$name]['#states']['enabled']['[name="filters[markdown][status]"]'] = [
'checked' => FALSE,
];
if (!isset($form['filters']['status'][$name]['#description'])) {
$form['filters']['status'][$name]['#description'] = '';
}
$form['filters']['status'][$name]['#description'] .= t('Note: not compatible with the Markdown module.');
}
}
}
/**
* Implements hook_migration_plugins_alter().
*
* {@inheritdoc}
*/
function markdown_migration_plugins_alter(array &$migrations) {
if (isset($migrations['d7_filter_format'])) {
$migration =& $migrations['d7_filter_format'];
// Add mapping from filter_markdown to markdown for D7 migrations.
$migration['process']['filters']['process']['id']['map']['filter_markdown'] = 'markdown';
}
}
/**
* Implements hook_theme().
*/
function markdown_theme() {
$hooks['markdown_benchmark'] = [
'variables' => [
'time' => NULL,
'unit' => NULL,
],
];
return $hooks;
}
Functions
Name | Description |
---|---|
markdown_element_info_alter | Implements hook_element_info_alter(). |
markdown_form_filter_format_edit_form_alter | Implements hook_form_FORM_ID_alter(). |
markdown_help | Implements hook_help(). |
markdown_migration_plugins_alter | Implements hook_migration_plugins_alter(). |
markdown_theme | Implements hook_theme(). |