Markdown Filter

- MARKDOWN FILTER (6.x-1.1): Como ya se ha citado en alguno de los apartados previos, la inserción incontrolada de HTML en alguno de los contenidos de la web puede “desmontar” o cambiar la apariencia de la web sin el consentimiento del Administrador. Por ello es importante que los contenidos que introducen los usarios pasen por un filtro en el que se eliminen los TAGs HTML no autorizados. El mecanismo que permite a Drupal filtrar y “adaptar” los contenidos entrados por los usuarios son los “Input formats”. Cada “Input format” se compone de una serie de filtros o normas que establecen que tags HMTL están permitidos y cuales no.

No obstante, anular la posibilidad de insertar HTML en el contenido limita las opciones de edición a los usuarios, por lo que es interesante ofrecer a estos una forma alternativa al HTML de dar formato al texto que introducen. Esta es la finalidad de MarkDown Filter : por un lado elimina los tags HTML, y por otro ofrece una forma alternativa más sencilla aún que el HTML de dar formato a los contenidos ( poner “**contenido**” equivaldría a poner “<bold> contenido </bold>” y mostraría contenido en negrita ). Markdown en realidad es un editor de formato genérico realizado en PHP, y MARKDOWN FILTER es un “Contributed Module” que incorpora este editor a Drupal. Para instalar MARKDOWN FILTER deberemos seguir los mismos pasos que en los demás “Contributed modules”.

Como todos los “Filters”,  “Markdown Filter” se utiliza dentro de un “Input format”, por lo que antes de nada deberemos editar o crear un nuevo “Input format”, y en “Administer>Site configuration>Input formats” abrir su pestaña de “Edit” y en “Filters” activar “Markdown”. En la pestaña “Rearrange” podremos establecer el orden en que se aplican los diferentes filtros, lo que puede ser importante para su correcto funcionamiento ( el orden  en que se aplican los filtros sí altera el producto ). Al contrario de lo que se pueda pensar, los filtros se aplican en el momento que se generan los contenidos, y no en el momento que se guardan. Esto permite mantener una copia exacta en la base de datos, del contenido entrado por el usuario. Una vez configurado el “Input Format”, deberemos especificar a que Roles afecta.

Una propuesta de orden es la siguiente: Freelinking filter (-10), Markdown (-9), HTML filter (-8), Line break converter (-7), URL filter (-6), HTML corrector (-5). “Freelinking filter” y “Markdown” se ponen primero porque generan HTML, y es necesario que luego el HTML generado por estos sea filtrado. Esto evita que filtremos el HTML y luego “Freelinking” o “Markdown” inserte HTML indeseado.

También es interesante configurar adecuadamente el HTML filter que viene por defecto con Drupal, ya que podemos permitir el uso de TAGs que pueden ser utiles en el sitio web y que no hacen daño como es el de las imágenes ( tag <img> ). Asi activando este tag podemos insertar imágenes en el contenido simplemente indicando su URL como p.ej “<img src= "http://drupal.org /sites /all /themes /bluebeach /logos/drupal.org.png">”