¿Puedo crear enlaces con 'target="_blank"' en Markdown?
¿Hay alguna manera de crear un enlace en Markdown que se abra en una nueva ventana? Si no, ¿qué sintaxis recomiendas para hacer esto? Lo agregaré al compilador de rebajas que uso. Creo que debería ser una opción.
En lo que respecta a la sintaxis de Markdown, si desea obtener más detalles, solo tendrá que usar HTML.
<a href="http://example.com/" target="_blank">Hello, world!</a>
La mayoría de los motores de Markdown que he visto permiten HTML antiguo y simple, solo para situaciones como esta donde un sistema de marcado de texto genérico simplemente no es suficiente. (El motor StackOverflow, por ejemplo). Luego ejecutan toda la salida a través de un filtro de lista blanca HTML, independientemente, ya que incluso un documento exclusivo de Markdown puede contener fácilmente ataques XSS. Como tal, si usted o sus usuarios desean crear _blank
enlaces, probablemente aún puedan hacerlo.
Si esa es una característica que vas a utilizar con frecuencia, podría tener sentido crear tu propia sintaxis, pero generalmente no es una característica vital. Si quiero abrir ese enlace en una nueva ventana, haré clic y presionaré Ctrl, gracias.
Kramdown lo apoya. Es compatible con la sintaxis estándar de Markdown, pero también tiene muchas extensiones. Lo usarías así:
[link](url){:target="_blank"}
No creo que haya una función de rebajas, aunque puede haber otras opciones disponibles si desea abrir enlaces que apunten fuera de su propio sitio automáticamente con JavaScript.
Array.from(document.links)
.filter(link => link.hostname != window.location.hostname)
.forEach(link => link.target = '_blank');
jsFiddle .
Si estás usando jQuery:
$(document.links).filter(function() {
return this.hostname != window.location.hostname;
}).attr('target', '_blank');
jsFiddle .