Nuevo Markdown con estilo Reddit
Markdown es el formato con el que se escribe el contenido de Reddit. Esta es una guía al estilo particular de Markdown de Reddit, actualizado para el Nuevo Reddit, y vigente desde el 19 de septiembre de 2018.
Acerca de este documento
El contenido de texto de Reddit (comentarios, posts propios y otros) se representa como una variación específica de Reddit del formato Markdown, y dicho formato ha cambiado en el Nuevo Reddit, no solo en cómo se analiza sintácticamente sino también en cómo se representa. Esta es una guía al Markdown estilo Reddit, que explica en líneas generales cómo dar formato al contenido en Nuevo Reddit y, específicamente, identifica áreas en las que el Markdown estilo Nuevo Reddit difiere del Markdown estilo Antiguo Reddit.
Aquellas personas que envían contenido exclusivamente a través del editor predeterminado "Fancy Pants" en Nuevo Reddit no están expuestos a los detalles que se describen aquí. Uno no necesita saber nada de esta información para usar Reddit: Fancy Pants es un editor de texto enriquecido que proporciona todas las opciones de formato habituales como negrita, cursiva, listas, etc.
Dentro de la guía, se presentan ejemplo en pares, en los que se muestra primero cómo se escribe el Markdown en el editor, y luego cómo se representa o presenta en la pantalla. Importante: las notas del Nuevo Reddit acerca de las diferencias entre el Markdown estilo Nuevo Reddit y el Markdown estilo Antiguo Reddit están en párrafos escritos en cursiva y marcados con una bola de cristal (🔮), y los consejos generales están marcados con una flor de lis (⚜️).
Referencia rápida
Esta es una hoja de referencia resumida de la sintaxis habitual de Markdown. Lee más aparte de ella para obtener todos los detalles.
Escrito | Representado |
---|---|
_cursiva_ o *cursiva* |
cursiva |
__negrita__ o **negrita** |
negrita |
___negrita-cursiva___ o ***negrita-cursiva*** |
negrita-cursiva |
~~tachado~~ |
tachado |
>!spoilers!< |
spoilers |
^superíndice o ^(superíndice) |
superíndice |
`código` |
código |
Escrito | Representado |
---|---|
https://www.reddit.com |
https://www.reddit.com |
r/announcements |
r/announcements |
u/reddit |
u/reddit |
Escrito:
[enlace](https://redditinc.com)
o
[enlace][1] [1]: https://redditinc.com`
Representado:
Escrito:
# Encabezado 1 ## Encabezado 2
Representado:
Encabezado 1
Encabezado 2
Escrito:
- a - b 1. c 2. d
Representado:
- a
- b
- c
- d
Escrito:
> Lorem blockquote dolor sit amet, consectetur adipiscing elit. > Sed ullamcorper enim libero, ut luctus lorem ultricies ut. > Aenean sed nulla a mauris posuere aliquam bibendum id ipsum. > Fusce non augue mollis, dictum libero sed, blockquote enim.
Representado:
Lorem blockquote dolor sit amet, consectetur adipiscing elit. Sed ullamcorper enim libero, ut luctus lorem ultricies ut. Aenean sed nulla a mauris posuere aliquam bibendum id ipsum. Fusce non augue mollis, dictum libero sed, blockquote enim.
Escrito:
| encabezado | encabezado | encabezado | encabezado | |--------|:-------|-------:|:------:| | cosas | cosas | cosas | cosas |
Representado:
encabezado encabezado encabezado encabezado cosas cosas cosas cosas
Escrito (atención a la sangría):
fn main() { println!("hey") }
Representado:
fn main() { println!("hey") }
Dónde usar Markdown en Reddit
El contenido Markdown puede enviarse en algunos lugares en Reddit. Los principales usos de Markdown son en autotexto de un post (el cuerpo de un post de texto) y en los comentarios.
Cuando envías un post de texto o un comentario en Nuevo Reddit, de manera predeterminada estás enviando contenido que no es de Markdown a través del editor WYSIWYG "Fancy Pants" (por lo menos desde una computadora de escritorio; es posible que esto sea diferente en las plataformas para celulares). Si, en vez de esto, haces clic en “Cambiar a Markdown” en la pantalla de envío del post, entonces estarás enviando Markdown. Es posible que los usuarios prefieran Markdown más que Fancy Pants debido a que tienen un control más preciso sobre su documento, para acceder a las funciones ocasionales que no tiene Fancy Pants o simplemente por preferencia.
Estos son otros lugares que admiten Markdown:
- Wikis: algunos subreddits tienen sus propias wikis, y hay una wiki para todo el sitio.
- El texto de envío en el subreddit (el texto que se muestra en el Antiguo Reddit al enviar un post a un subreddit en particular).
- La barra lateral “área de texto” de Nuevo Reddit.
- Reglas del subreddit: estas se muestran en algunos lugares, de manera más prominente en la barra lateral, pero también en otras páginas.
- El texto "acerca de" en algunos perfiles de usuario en Nuevo Reddit: actualmente en beta (ya que es una función optativa).
Hay diferencias significativas en el soporte de los últimos casos entre Antiguo Reddit y Nuevo Reddit, el antiguo analizador sintáctico de Markdown y el nuevo analizador sintáctico de Markdown. Para conocer los detalles, consulta "Diferencias en el soporte de contenido entre Antiguo Reddit y Nuevo Reddit"
Markdown con estilo Reddit
Párrafos y saltos de línea
Los párrafos en Reddit se escriben como líneas de textos separadas por líneas en blanco.
Escrito:
Lejos, en los remansos inexplorados del extremo antiguo del brazo espiral occidental de la galaxia, se encuentra un pequeño sol amarillo que no se tiene en cuenta. Orbitando a este a una distancia de aproximadamente noventa y dos millones de millas hay un pequeño e insignificante planeta verde azulado cuyas formas de vida descendientes de los simios son tan asombrosamente primitivas que todavía piensan que los relojes digitales son una buena idea. Este planeta tiene (o mejor dicho tenía) un problema, que era el siguiente: la mayoría de las personas en él eran infelices la mayor parte del tiempo. Muchas soluciones se propusieron para este problema, pero la mayoría de ellas se referían en gran medida a los movimientos de los pequeños trozos de papel verde, es decir los movimientos de pequeños trozos de papel verde, lo cual es extraño porque en general no eran los pequeños trozos de papel verde los que eran infelices.
Representado:
Lejos, en los remansos inexplorados del extremo antiguo del brazo espiral occidental de la galaxia, se encuentra un pequeño sol amarillo que no se tiene en cuenta.
Orbitando a este a una distancia de aproximadamente noventa y dos millones de millas hay un pequeño e insignificante planeta verde azulado cuyas formas de vida descendientes de los simios son tan asombrosamente primitivas que todavía piensan que los relojes digitales son una buena idea.
Este planeta tiene (o mejor dicho tenía) un problema, que era el siguiente: la mayoría de las personas en él eran infelices la mayor parte del tiempo. Muchas soluciones se propusieron para este problema, pero la mayoría de ellas se referían en gran medida a los movimientos de los pequeños trozos de papel verde, es decir los movimientos de pequeños trozos de papel verde, lo cual es extraño porque en general no eran los pequeños trozos de papel verde los que eran infelices.
Observa que los saltos de línea no se muestran, es decir, las líneas adyacentes están unidas para crear un único párrafo. Pueden agregarse saltos de línea explícitamente al finalizar las líneas con dos espacios o con una barra invertida (\
).
Escrito (observa los espacios dobles al final de la primera línea):
El amor es el todo. Nosotros solamente somos partes.
Representado:
El amor es el todo.
Nosotros solamente somos partes.
Escrito (observa la colocación y dirección de la barra):
Más allá de las ideas de lo que está mal\ y lo que está bien, hay un campo.\ Nos vemos allí.
Representado:
Más allá de las ideas de lo que está mal
y lo que está bien, hay un campo.
Nos vemos allí.
🔮 Nota sobre Nuevo Reddit: la creación de saltos de línea con una barra invertida solo funciona en Nuevo Reddit. A pesar de que la barra invertida es más fácil de leer y escribir que dos espacios, si necesitas compatibilidad con Antiguo Reddit, usa dos espacios para crear tus saltos de línea.
Los párrafos están separados por cualquier cantidad de líneas en blanco, y esas líneas en blanco no se representan por sí mismas; por lo tanto, no se puede añadir una cantidad arbitraria de espacio entre párrafos simplemente al añadir líneas en blanco adicionales.
Escrito:
No te preocupes por nada.\ ¡Piensa en quién creó el pensamiento! ¿Por qué te quedas en la cárcel\ cuando la puerta está tan abierta?
Representado:
No te preocupes por nada.
¡Piensa en quién creó el pensamiento!¿Por qué te quedas en la cárcel
cuando la puerta está tan abierta?
⚜️ Consejo: Un truco para insertar líneas en blanco es crear un párrafo que no contenga nada más que "espacio de no separación".
Escrito:
No te preocupes por nada.\ ¡Piensa en quién creó el pensamiento! ¿Por qué te quedas en la cárcel\ cuando la puerta está tan abierta?
Representado:
No te preocupes por nada.
¡Piensa en quién creó el pensamiento!
¿Por qué te quedas en la cárcel
cuando la puerta está tan abierta?
Ese
es un tipo de entidad de HTML, útil para una variedad de “trucos” en Markdown.
Formato de texto básico
El texto en cursiva se representa rodeando el texto con un asterisco (*
) o un guión bajo (_
).
Escrito:
Es solo el *error*, y no la _verdad_, lo que impide preguntar.
Representado:
Es solo el error y no la verdad, lo que impide preguntar.
El texto en negrita se representa rodeando el texto con doble asterisco (**
) o doble guión bajo (__
).
Escrito:
Es solo el **error**, y no la __verdad__, lo que impide preguntar.
Representado:
Es solo el error y no la verdad, lo que impide preguntar.
El texto en negrita y cursiva se representa rodeando el texto con triple asterisco (***
) o triple guión bajo (___
).
Escrito:
Es solo el ***error***, y no la ___verdad___, lo que impide preguntar.
Representado:
Es solo el error y no la verdad, lo que impide preguntar.
Los ejemplos anteriores hicieron hincapié en una sola palabra, pero el énfasis también puede abarcar varias palabras.
Observa que en los ejemplos anteriores las palabras enfatizadas estaban completamente rodeadas con asteriscos o guiones bajos. También es posible enfatizar solo partes de palabras, pero solo con asteriscos.
Escrito:
Esto es totalmente sub*derma**toglí**fico.
Representado:
Esto es totalmente subdermatoglífico.
El texto tachado se representa rodeando el texto con doble virgulilla (~~
).
Escrito:
Lo mejor que aprenderás es simplemente ~~amar~~ a Reddit y ser ~~amado~~ por Reddit a cambio.
Representado:
Lo mejor que aprenderás es simplemente amar a Reddit y ser amado por Reddit a cambio.
Los spoilers pueden ocultarse como texto spoiler rodeando el texto con >!
y !<
.
Escrito:
Lo mejor que aprenderás es simplemente a >!redditar y ser redditado a cambio!<.
Representado:
Lo mejor que aprenderás es simplemente a redditar y ser redditado a cambio.
El texto como superíndice se representa colocando el texto entre paréntesis precedido por una marca de inserción (^
).
Escrito:
Lo mejor que aprenderás es simplemente a redditar ^(y ser redditado a cambio).
Representado:
Lo mejor que aprenderás es simplemente a redditar y ser redditado a cambio.
Una sola palabra puede también escribirse como superíndice al colocar un signo de inserción antes de ella.
Escrito:
Lo mejor que aprenderás es simplemente a ^redditar y ser ^redditado a cambio.
Representado:
Lo mejor que aprenderás es simplemente a redditar y ser redditado a cambio.
🔮 Nota para Nuevo Reddit: hay diferencias significativas en el análisis sintáctico del texto como superíndice entre el Antiguo Reddit y el Nuevo Reddit. A veces, el Antiguo Reddit en particular no analiza sintácticamente la forma entre paréntesis si esta contiene enlaces (como ^(a [b](http://ejemplo.com))
). Nuevo Reddit (todavía) no admite múltiples niveles de superíndice. Y hay errores. En ambos. Para obtener la máxima compatibilidad de superíndice entre el Antiguo y el Nuevo Reddit, sigue la sintaxis de superíndice de una sola palabra, sin paréntesis, y escribe como superíndice cada palabra, o separa las palabras con las entidades de HTML "espacio de no separación" (
) o "espacio de un cuarto de ancho" ( 
) (esta última permite saltos de línea en el texto como superíndice).
Escrito:
Lo mejor que aprenderás es simplemente a redditar ^y ^ser ^redditado ^a ^cambio.
Representado:
Lo mejor que aprenderás es simplemente a redditar y ser redditado a cambio.
Escrito:
Lo mejor que aprenderás es simplemente a redditar ^y ser redditado a cambio.
Representado:
Lo mejor que aprenderás es simplemente a redditar y ser redditado a cambio.
Y si tu texto en superíndice contiene enlaces, aplica texto como superíndice al enlace también.
Escrito:
Lo mejor que aprenderás es simplemente a redditar ^y [^ser ^redditado](https://www.redditgifts.com) ^a ^cambio.
Representado:
Lo mejor que aprenderás es simplemente a redditar y ser redditado a cambio.
Enlaces
Las URL que comienzan con "http://" o "https://" reciben automáticamente un hipervínculo, al igual que los nombres y nombres de usuario de subreddit. Estos últimos se conocen como redditlinks y userlinks, respectivamente. De manera colectiva, se los conoce como autoenlaces.
Escrito | Representado |
---|---|
http://www.reddit.com |
http://www.reddit.com |
https://www.reddit.com |
https://www.reddit.com |
/r/announcements |
/r/announcements |
r/announcements |
r/announcements |
/u/reddit |
/u/reddit |
u/reddit |
u/reddit |
⚜️ Consejo: las URL complejas pueden analizarse sintácticamente de maneras inesperadas como autoenlaces. Cuando descubras que una URL no está enlazada correctamente, puedes rodear el enlace con los signos menor que y mayor que (<
, >
).
Escrito:
<http://ejemplo.com/foo/../bar..>
Representado:
El texto arbitrario se puede hipervincular explícitamente rodeándolo con corchetes, seguido de una URL entre paréntesis. El enlace puede tener de manera opcional un título, que suele mostrar el navegador cuando el usuario pasa el cursor por encima del enlace.
El título debe ir rodeado de comillas simples, dobles o paréntesis.
Escrito | Representado |
---|---|
[Rumi](https://en.wikipedia.org/wiki/Rumi) |
Rumi |
[Zappa](https://en.wikipedia.org/wiki/Frank_Zappa "Frank Zappa - Wikipedia") |
Zappa |
[Gandhi](https://en.wikipedia.org/wiki/Mahatma_Gandhi 'Mahatma Gandhi - Wikipedia') |
Gandhi |
[Twain](https://en.wikipedia.org/wiki/Mark_Twain (Mark Twain - Wikipedia)) |
Twain |
🔮 Nota sobre Nuevo Reddit: los títulos rodeados por paréntesis solo son admitidos en Nuevo Reddit. Para compatibilidad, usa comillas.
Los enlaces también pueden definirse como referencias, fuera del párrafo.
Escrito:
[Muy poco] se necesita para tener una vida feliz; todo está dentro de ti, en tu [forma de pensar][eso]. [Muy poco]: https://www.reddit.com/r/Meditation/ [eso]: https://www.reddit.com/r/ChangeMyView/
Representado:
Muy poco se necesita para tener una vida feliz; todo está dentro de ti en tu forma de pensar.
De manera predeterminada, el nombre de la referencia es el mismo que el texto entre paréntesis, pero la referencia puede nombrarse explícitamente dentro de un segundo conjunto de paréntesis, como en [forma de pensar][eso]
. Al igual que los enlaces en línea, los enlaces de referencia pueden tener títulos.
⚜️ Consejo: los enlaces de estilo referencia son especialmente útiles para organizar un texto con muchos enlaces.
Escrito:
En un lugar de [la Mancha][lm], de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de [lanza] en astillero, [adarga antigua][as] [rocín flaco][rf] y galgo corredor. [lm]: https://en.wikipedia.org/wiki/La_Mancha [lance]: https://en.wikipedia.org/wiki/Holy_Lance "Holy Lance - Wikipedia" [as]: http://myarmoury.com/feature_shield.html 'The Shield: An Abridged History of its Use and Development' [sn]: https://en.wikipedia.org/wiki/Epona (Epona - Wikipedia)
Representado:
En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua rocín flaco y galgo corredor.
⚜️ Consejo: ten en cuenta que los enlaces solo pueden contener paréntesis si están “equilibrados”, es decir, si cada "(" va seguido de ")". Para hacer un enlace a una URL con paréntesis no equilibrados, escapa al paréntesis con una barra invertida ("\") o usa la sintaxis alternativa para hacer enlaces, colocando la URL entre signos menor que y mayor que, "<" y ">".
Escrito:
[Paréntesis](https://en.wikipedia.org/wiki/\()
Representado:
Escrito:
[Paréntesis](<https://en.wikipedia.org/wiki/(>)
Representado:
En Reddit, los enlaces generalmente deben incluir el diagrama URL, como "https://", así que en vez de escribir [a](www.example.com)
, escribe [a](https://www.example.com)
.
El conjunto completo de prefijos aceptados en las URL es "http://", "https://", "ftp://", "mailto:", "git://", "steam://", "irc://", "news://", "mumble://", "ssh://", "ircs://", "ts3server://", "/", "#".
Encabezados
Los encabezados de secciones tienen seis niveles y se escriben precedidos de signos numerales (#
).
Escrito:
# Dominio ## Reino ### Filo #### Clase ##### Orden ###### Familia
Representado:
Dominio
Reino
Filo
Clase
Orden
Familia
Los encabezados de nivel 1 y 2 también pueden escribirse subrayando el texto del encabezado con "=" y "-" respectivamente.
Escrito:
Dominio ====== Reino -------
Representado:
Dominio
Reino
Listas
Las listas pueden ser no ordenadas (viñetas) u ordenadas (numeradas).
Las listas no ordenadas están formadas por líneas precedidas por un "-" o un "*".
Escrito:
- Agamenón - Los portadores de libación - Las Euménides
Representado:
- Agamenón
- Los portadores de libación
- Las Euménides
Escrito:
* Agamenón * Los portadores de libación * Las Euménides
Representado:
- Agamenón
- Los portadores de libación
- Las Euménides
Las listas no ordenadas están formadas por líneas numeradas delimitadas por "." o por ")".
Escrito:
1. Agamenón 2. Los portadores de libación 3. Las Euménides
Representado:
- Agamenón
- Los portadores de libación
- Las Euménides
Escrito:
1) Agamenón 2) Los portadores de libación 3) Las Euménides
Representado:
- Agamenón
- Los portadores de libación
- Las Euménides
🔮 Nota sobre Nuevo Reddit: el uso de ")" para definir listas ordenadas solo funciona en Nuevo Reddit. Para tener compatibilidad con el Antiguo Reddit, usa “.”.
En Reddit, las listas ordenadas deben comenzar con “1”.
Excepto la numeración, las listas no ordenadas y las listas ordenadas se analizan sintácticamente generalmente de la misma manera. Por lo tanto, en los ejemplos restantes se utilizarán listas no ordenadas para simplificar.
Cada entrada individual en una lista se denomina elemento de lista. Los elementos pueden tener cualquier cantidad de espacio entre ellos. Agregar más espacio puede hacer que los elementos de lista complejos sean más legibles al editar.
Escrito:
- Agamenón - Los portadores de libación - Las Euménides
Representado:
Agamenón
Los portadores de libación
Las Euménides
Los elementos pueden contener sublistas.
Escrito:
- Homero - La Ilíada - La Odisea - Esquilo - Agamenón - Los portadores de libación - Las Euménides
Representado:
- Homero
- La Ilíada
- La Odisea
- Esquilo
- Agamenón
- Los portadores de libación
- Las Euménides
Ten en cuenta que las sublistas de elementos de listas no ordenadas deben ir precedidas de al menos dos espacios, mientras que las sublistas de elementos de listas ordenadas deben ir precedidas de al menos tres espacios.
Las listas pueden contener sus propios párrafos, citas en bloque y otros tipos de contenido.
Escrito:
- En primer lugar: Lorem ipsum dolor sit amet, consectetur adipiscing elit. > Fusce hendrerit, nunc quis rhoncus tristique, neque augue ornare > enim, ut aliquam libero diam et ligula. Aliquam sagittis sem sed > rutrum luctus. Nunc massa est, egestas eget massa id, lacinia > pretium dui. Nam eget consequat eros, eget commodo urna. - Pero en segundo lugar: Phasellus vitae libero sit amet orci tempor lacinia sed at tellus. Curabitur sit amet nibh elit. Quisque pulvinar odio sapien, et condimentum velit convallis et. ### Información sobre Lipsum |Lorem|Ipsum|Dolor| |-----|-----|-----| |8 |1 |3 | |3 |7 |8 | Aenean at dui in sapien sagittis sodales.
Representado:
En primer lugar: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Fusce hendrerit, nunc quis rhoncus tristique, neque augue ornare enim, ut aliquam libero diam et ligula. Aliquam sagittis sem sed rutrum luctus. Nunc massa est, egestas eget massa id, lacinia pretium dui. Nam eget consequat eros, eget commodo urna.
Pero en segundo lugar: Phasellus vitae libero sit amet orci tempor lacinia sed at tellus. Curabitur sit amet nibh elit. Quisque pulvinar odio sapien, et condimentum velit convallis et.
Información sobre Lipsum
Lorem Ipsum Dolor 8 1 3 3 7 8 Aenean at dui in sapien sagittis sodales.
🔮 Nota sobre Nuevo Reddit: en Markdown, incluido en el Antiguo Reddit, +
también puede usarse para definir listas no ordenadas. Hasta ahora, Nuevo Reddit no analiza sintácticamente ese tipo de listas.
Citas en bloque
Las citas en bloque proporcionan una forma de enfatizar grandes cantidades de texto. Normalmente se las utiliza en los comentarios de respuesta para citar los comentarios de otras personas. Para crearlas, hay que comenzar una línea con un signo mayor que (>
).
Escrito:
> Es tan difícil olvidar el dolor, pero es aún más difícil recordar la dulzura. No tenemos ninguna cicatriz para mostrar la felicidad. Aprendemos tan poco de la paz.
Representado:
Es tan difícil olvidar el dolor, pero es aún más difícil recordar la dulzura. No tenemos ninguna cicatriz para mostrar la felicidad. Aprendemos tan poco de la paz.
Para las citas simples, basta con iniciar la primera línea de un párrafo con >
, como en el caso anterior, y todo quedará citado en bloque.
Para citas en bloque más complejas, se debe anteponer >
a cada línea.
Escrito:
> - En primer lugar: Lorem ipsum dolor sit amet, consectetur adipiscing > elit. > > - Pero en segundo lugar: Phasellus vitae libero sit amet orci tempor lacinia > sed at tellus. Curabitur sit amet nibh elit. Quisque pulvinar odio > sapien, et condimentum velit convallis et. > > > Fusce hendrerit, nunc quis rhoncus tristique, neque augue ornare > > enim, ut aliquam libero diam et ligula. Aliquam sagittis sem sed > > rutrum luctus. Nunc massa est, egestas eget massa id, lacinia > > pretium dui. Nam eget consequat eros, eget commodo urna. > > ### Información sobre Lipsum > > |Lorem|Ipsum|Dolor| > |-----|-----|-----| > |8 |1 |3 | > |3 |7 |8 | > > Aenean at dui in sapien sagittis sodales.
Representado:
En primer lugar: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pero en segundo lugar: Phasellus vitae libero sit amet orci tempor lacinia sed at tellus. Curabitur sit amet nibh elit. Quisque pulvinar odio sapien, et condimentum velit convallis et.
Fusce hendrerit, nunc quis rhoncus tristique, neque augue ornare enim, ut aliquam libero diam et ligula. Aliquam sagittis sem sed rutrum luctus. Nunc massa est, egestas eget massa id, lacinia pretium dui. Nam eget consequat eros, eget commodo urna.
Información sobre Lipsum
Lorem Ipsum Dolor 8 1 3 3 7 8 Aenean at dui in sapien sagittis sodales.
Tablas
Las tablas constan de una fila de encabezado y una cantidad cualquiera de filas de contenido. Las columnas se separan mediante barras verticales (|
) y la fila de encabezado se separa de las filas de contenido mediante guiones (-
).
Escrito:
| Teletipo | Inversión | Ganancia | |--------|------------|--------| | BTC | $100 | $-50 | | ETH | $1000 | $-500 | | DOGE | $10000 | $-5000 |
Representado:
Teletipo Inversión Ganancia BTC $100 $-50 ETH $1000 $-500 DOGE $10000 $-5000
La segunda fila de la tabla, la que está llena de guiones, es la fila de marcadores y determina la alineación del texto en la columna. Las columnas de la fila de marcadores que comienzan con :
están alineadas a la izquierda; las columnas que terminan con :
están alineadas a la derecha; las columnas que comienzan y terminan con :
están alineadas al centro; las columnas que contienen todos los guiones están alineadas de manera predeterminada (a la izquierda).
Escrito:
| Teletipo | Inversión | Ganancia | |:-------|-----------:|:------:| | BTC | $100 | $-50 | | ETH | $1000 | $-500 | | DOGE | $10000 | $-5000 |
Representado:
Teletipo Inversión Ganancia BTC $100 $-50 ETH $1000 $-500 DOGE $10000 $-5000
Afortunadamente, las columnas no tienen que tener formato para que se alineen entre sí para que funcionen, sino que pueden estar desordenadas.
Escrito:
| Teletipo | Inversión | Ganancia | |:-|-:|:-:| | BTC | $100 | $-50 | | ETH | $1000 | $-500 | | DOGE | $10000 | $-5000 |
Representado:
Teletipo Inversión Ganancia BTC $100 $-50 ETH $1000 $-500 DOGE $10000 $-5000
⚜️ Consejo: las tablas pueden escribirse sin los caracteres de encabezamiento y final de fila (|
), pero el resultado puede ser sorprendente cuando el analizador sintáctico tiene que adivinar si la fila es una fila de la tabla u otra cosa. Las barras verticales iniciales y finales hacen explícito que estás escribiendo una tabla.
Bloques de código y código en línea
Hay varias formas de representar el código en Markdown, que siempre se representa en una fuente monoespaciada y se reproduce exactamente como está escrito, no se interpreta Markdown dentro de una región de código.
Los fragmentos de código breves, código en línea, pueden incrustarse en párrafos y en otros textos, y están delimitados por comillas simples invertidas de apertura y cierre (`
).
Escrito:
Nos equivocamos: `goto`\ no se considera dañino;\ `goto` quiere ayudar.
Representado:
Nos equivocamos:
goto
no se considera dañino;goto
quiere ayudar.
Los bloques de código más largos pueden representarse de varias maneras. La primera es dejar una sangría de cuatro espacios para el bloque completo de código.
Escrito:
hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length = SSL_SHA1_DIGEST_LEN; if ((err = SSLFreeBuffer(&hashCtx)) != 0) goto fail; if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail;
Representado:
hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length = SSL_SHA1_DIGEST_LEN; if ((err = SSLFreeBuffer(&hashCtx)) != 0) goto fail; if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail;
🔮 Nota de Nuevo Reddit: los bloques de código con sangría son la única forma de bloque de código que funciona en el Antiguo Reddit. Utilízalos para compatibilidad.
Escribir cuatro espacios delante de cada línea de un bloque de código es tedioso y propenso a introducir errores. La forma más fácil es rodear todo el bloque de código con vallas de código. Una valla de código es una línea que comienza con tres o más comillas simples invertidas (`
) o tres o más virgulillas (~
).
Escrito:
``` if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; ```
Representado:
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail;
Escrito:
~~~ if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; ~~~
Representado:
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail;
La valla de apertura y la de cierre deben coincidir tanto en el carácter utilizado como sus repeticiones.
⚜️ Consejo: cuando el propio código en línea contiene una comilla simple invertida, o cuando el propio bloque de código vallado contiene una valla de código, las comillas simples invertidas y las vallas interiores pueden hacer que la región de código se cierre antes de tiempo. En estos casos, las vallas pueden ajustarse para adaptarse al código. El resto de esta sección trata acerca de cómo abordar algunos casos extremos.
Considera el siguiente ejemplo.
Escrito:
``` Este código no funcionó de la manera esperada: ``` if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; ``` Pero lo intentó de la mejor manera. ```
Representado:
Este código no funcionó de la manera esperada:
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail;
Pero lo intentó de la mejor manera.
Esta es una valla de código dentro de una valla de código (es decir, un bloque de código Markdown que contiene un ejemplo de Markdown), y no se representa de la manera deseada: el código dentro de la valla de código interior no se reproduce como código en absoluto. En su lugar, el código aparece como texto normal rodeado de dos bloques de código.
Este es un problema fácil de resolver porque la sintaxis de la valla de código tiene dos delimitadores diferentes, (`
) y (~
), y permite que los bloques de código estén rodeados por más de tres delimitadores. Simplemente usa más comillas simples invertidas en la valla de código exterior o usa el otro delimitador.
Escrito:
```` Este código no funcionó de la manera esperada: ``` if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; ``` Pero lo intentó de la mejor manera. ````
Representado:
Este código no funcionó de la manera esperada: ``` if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; ``` Pero lo intentó de la mejor manera.
Escrito:
~~~ Este código no funcionó de la manera esperada: ``` if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; ``` Pero lo intentó de la mejor manera. ~~~
Representado:
Este código no funcionó de la manera esperada: ``` if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; ``` Pero lo intentó de la mejor manera.
También existe un truco similar para el código en la línea: el código en la línea puede estar rodeado por cualquier cantidad de comillas simples invertidas, y la apertura y el cierre deben coincidir. Por lo tanto, si se necesita poner una comilla simple invertida dentro del código en línea, se puede simplemente rodear el código con dos comillas simples invertidas, por ejemplo ``esto que se encuentra aquí, `, eso es una comilla simple invertida``
.
Por supuesto, hay un caso más complicado: ¿qué ocurre si el propio código en línea debe comenzar o terminar con una comilla simple invertida, por ejemplo, si quieres ilustrar cómo escribir código en línea Markdown dentro del código en línea? El hecho de escribir dos comillas simples invertidas para abrir el código en línea y una comilla simple invertida unida para comenzar el código en línea no funciona porque parece un código en línea delimitado por tres comillas simples invertidas: ```ejemplo de código en línea```
. Si escribieras solo eso, perderías las comillas simples invertidas interiores:
Escrito | Representado |
---|---|
```ejemplo de código en línea``` |
ejemplo de código en línea |
Markdown ofrece una última vía de escape para estas situaciones: se eliminan todos los espacios alrededor del código en línea, lo que permite escribir los delimitadores del código en línea, el espacio y, a continuación, la comilla simple invertida textual:
Escrito | Representado |
---|---|
`` `ejemplo de código en línea` `` |
`ejemplo de código en línea` |
Hay que admitir que esta situación se da con mayor frecuencia en personas que escriben Markdown acerca de Markdown (¡como yo!). Espero que no te veas en una situación como esta.
Por último, ¿qué pasa si realmente quieres espacios iniciales o finales en tu código en línea? Bueno, estás metido en un gran problema. Si te encuentras en esta situación, probablemente seas lo suficientemente inteligente como para encontrar una solución.
Saltos temáticos
El salto temático, también conocido como la “regla horizontal”, es simplemente una línea horizontal que atraviesa la página. Se puede usar para crear una separación visual entre el contenido. Un salto temático se escribe como una línea que contiene tres o más asteriscos (*
), guiones (-
), o guiones bajos (_
).
Escrito:
Esta es una historia nostálgica sobre el abuelo. --- Aquí hay una foto de un burro aletargado.
Representado:
Esta es una historia nostálgica sobre el abuelo.
Aquí hay una foto de un burro aletargado.
Escrito:
Aquí hay un loro de fiesta en la vida real. *** Aquí hay engaño, decadencia y, en última instancia, muerte.
Representado:
Aquí hay un loro de fiesta en la vida real.
Aquí hay engaño, decadencia y, en última instancia, muerte.
Escrito:
Esta es una puerta de granero oxidada. ___ Café solo.
Representado:
Esta es una puerta de granero oxidada.
Café solo.
Más consejos y trucos
Escape de la sintaxis de Markdown
Escapar es una forma de indicar al analizador sintáctico que no interprete los caracteres especiales como Markdown, al precederlos de una barra invertida (\
).
A veces uno se encuentra con que el analizador sintáctico ha interpretado su texto de una manera no prevista. Esto puede ocurrir, por ejemplo, si, en medio de un párrafo, un guión inicia una nueva línea.
Escrito:
Sentí que los pulmones se me inflaban con la avalancha de paisajes - el aire, las montañas, los árboles, la gente. Pensé: "Esto es lo que es ser feliz".
Representado:
Sentí que los pulmones se me inflaban con la avalancha de paisajes
- el aire, las montañas, los árboles, la gente. Pensé: "Esto es lo que es ser feliz".
En este caso, el guion es parte del texto, no el comienzo de una lista. Escapar al guion con una barra invertida soluciona el problema.
Escrito:
Sentí que los pulmones se me inflaban con la avalancha de paisajes \ - el aire, las montañas, los árboles, la gente. Pensé: "Esto es lo que es ser feliz".
Representado:
Sentí que los pulmones se me inflaban con la avalancha de paisajes - el aire, las montañas, los árboles, la gente. Pensé: "Esto es lo que es ser feliz".
Otro caso habitual en el que es necesario escapar surge con los paréntesis en los enlaces.
Escrito:
[Paréntesis](https://en.wikipedia.org/wiki/))
Representado:
Se supone que esto es un enlace al artículo de Wikipedia sobre paréntesis ("https://en.wikipedia.org/wiki/)"), pero, en su lugar, es un enlace a "https://en.wikipedia.org/wiki/". Escapar al paréntesis en la URL hace que el analizador sintáctico no lo trate como el paréntesis de cierre de la sintaxis del enlace.
[Paréntesis](https://en.wikipedia.org/wiki/\))
Representado:
Entidades de HTML
Markdown admite entidades de HTML, como
(relativamente habitual) para el "espacio de no separación". Estos pueden constituir una "compuerta de escape" para escribir contenido difícil de representar. Por ejemplo,
se utiliza a menudo para insertar párrafos “vacíos”, para proporcionar espacios en blanco verticales donde Markdown no lo permite de otro modo.
En otros casos, las entidades HTML se utilizan para introducir caracteres difíciles de teclear, como los que están por encima del rango ASCII en Unicode, o caracteres que no tienen representación visual.
Algunos ejemplos útiles:
- Se inserta una raya con
—
. Se trata de un guión más largo que el típico guión, y es el carácter correcto para separar frases en las oraciones. - Se pueden utilizar varios caracteres de espacio en blanco no ASCII para insertar espacios en blanco donde Markdown no lo permitiría de otro modo. Si quieres introducir simplemente una cantidad arbitraria de espacios entre dos palabras, puedes escribir —, por ejemplo, al insertar varios caracteres de “espacio largo” (
 
).
Consejos para los robots
Durante la transición hemos visto surgir algunas incompatibilidades en la sintaxis que utilizaban los bots. Estas son algunas notas de esas experiencias, así como información general sobre la publicación automática de Markdown.
(Anuncio rápido: ¡a esta sección le vendría bien la ayuda de bots autores!)
En enlaces, no pongas espacios entre el texto (
[...]
) y la URL ((http://ejemplo.com)
). Esto funcionaba en Antiguo Reddit pero no funciona en Nuevo Reddit.Escapa con barra invertida a todos los paréntesis en URL de enlaces (no autoenlaces), como
[texto](http://ejemplo.com/foo\(bar)
. Los paréntesis deben estar equilibrados o no se analizarán como enlaces, por lo que basta con escapar a todos los paréntesis para que todos los enlaces con paréntesis se analicen correctamente.Como alternativa, usa la sintaxis con los signos menor que y mayor que, para URL de enlaces (
[texto](<http://ejemplo.com>)
, las cuales aceptan paréntesis no equilibrados. En este caso, sin embargo, debes evitar los signos menor que y mayor que de la URL, como%3C
y%3E
.Si publicas autoenlaces (URL sin procesar sin la sintaxis con paréntesis), considera rodearlos de los signos menor que y mayor que (
<
>
) y evitar todos los signos menor que y mayor que que haya dentro de la URL como%3C
y%3E
. Esto evitará cualquier ambigüedad en el análisis sintáctico, especialmente al final de los autoenlaces. Ten en cuenta que incluso dentro de los paréntesis, los autoenlaces no pueden contener espacios, así que evítalos en la URL como%20
.Simplemente no hay manera de evitar escapar a algo mientras se publican enlaces arbitrarios como un bot si quieres que todas las URL sean analizadas como se espera. Los detalles del análisis sintáctico de los enlaces se encuentran en las especificaciones.
El nuevo y el antiguo analizador tratan de forma diferente los escapes de HTML (como
): el antiguo los conserva, tanto en el texto como en los enlaces; el nuevo los anula durante el análisis para que los clientes (muchos de los cuales no son navegadores web) no estén expuestos a ellos. Esto es así tanto en el texto como en los enlaces y así lo especifica CommonMark. No entendemos el impacto de esto en los bots ni tenemos ninguna recomendación en este momento.Si hay alguna posibilidad de que tu superíndice contenga enlaces, escríbelos poniendo en superíndice cada palabra o separando las palabras en superíndice con un "espacio de un cuarto de ancho". La sintaxis más agradable
^(...)
no es confiable en Antiguo Reddit cuando se combina con enlaces.
Recomendaciones de compatibilidad para Markdown estilo Reddit
Estas son algunas recomendaciones para escribir Markdown que sea compatible con el análisis sintáctico del Antiguo Reddit (siempre y cuando el antiguo analizador sintáctico siga en uso).
Algunas de las recomendaciones son “sencillas” porque tienen equivalentes que son iguales de buenos en el Antiguo Reddit; otras son “desafortunadas” porque, bueno, favorecen una sintaxis menos agradable.
Es de suponer que el antiguo analizador sintáctico se eliminará por completo en algún momento (actualmente solo se utiliza en el antiguo cliente web; los clientes móviles utilizan el nuevo), momento en el que estas recomendaciones podrían cambiar.
Por otro lado, si no te importa el formato en el Antiguo Reddit, ¡haz lo contrario de todas estas sugerencias!
Recomendaciones de compatibilidad sencillas
Utiliza comillas para los títulos de los enlaces, como
[texto](http://ejemplo.com "título")
(en lugar de paréntesis para los títulos de los enlaces). El Antiguo Reddit no admite paréntesis aquí.Inicia y termina las columnas de las tablas con barras verticales (
|
). Técnicamente son opcionales, pero, de vez en cuando, hay análisis sorpresivos cuando no se utilizan. Tanto el Antiguo Reddit como el Nuevo Reddit tienen diferentes peculiaridades.Delimita las listas ordenadas con puntos en lugar de paréntesis, p. ej., (
1. Primero
). El Antiguo Reddit no admite estas últimas.Delimita las listas no ordenadas con
-
o*
, no con+
. En la actualidad, el Nuevo Reddit no admite este último.
Recomendaciones de compatibilidad desafortunadas
Utiliza espacios dobles en lugar de una barra invertida para indicar los saltos de línea. El Antiguo Reddit solo admite espacios dobles.
Usa bloques de código con sangrías en lugar de vallas de código. El Antiguo Reddit solo admite bloques de código con sangrías.
No utilices énfasis anidados como
_esto es __realmente__ importante_
. Sí, adivinaste: no funciona en Antiguo Reddit.No utilices varios niveles de superíndice (también conocido como "torres"). No funciona en el Nuevo Reddit (o, por lo menos, no todavía).
Continúa utilizando los trucos más comunes para hacer que los superíndices admitan espacios, como escribir cada palabra como superíndice o unirlas con caracteres espaciales exóticos de Unicode (ya sea
o​
. Evita la sintaxis de superíndice entre paréntesis,^(...)
; a menudo es analizada incorrectamente en el Antiguo Reddit.
Más información sobre Markdown en Reddit
El nuevo analizador de Markdown de Reddit, snoomark, es una variación de Markdown estilo GitHub (GFM), basada en CommonMark, con las extensiones de tabla y autoenlace de GFM, así como una extensión de tachado modificada. También incluye extensiones específicas de Reddit y peculiaridades de compatibilidad específicas de Reddit que se alejan de CommonMark.
Snoomark es un proyecto derivado de comrak, que a su vez es una reimplementación de cmark-gfm, la implementación de CommonMark de GitHub con extensiones de GitHub (GFM), que a su vez deriva de cmark, la implementación de referencia de CommonMark. Snoomark en sí mismo no es (todavía) de código abierto, pero los cambios en comrak se fusionan regularmente en snoomark.
A medida que más Redditors han comenzado a utilizar las herramientas de creación y formato de posts en el Nuevo Reddit, la filosofía en torno a la compatibilidad con Markdown ha fluctuado. Originalmente, el plan era pasar a algo parecido a CommonMark y dejar de lado toda la compatibilidad con las “peculiaridades” del Antiguo Reddit; pero a medida que el despliegue avanzaba esa postura se suavizó, y se añadieron una serie de peculiaridades de compatibilidad con el nuevo analizador sintáctico.
En este momento no se espera que se añadan muchas más peculiaridades de compatibilidad a Nuevo Reddit: es más probable que el Antiguo Reddit se actualice al nuevo analizador sintáctico. En ese caso, habrá una cierta cantidad (esperemos que sea pequeña) de contenido antiguo que ya no se represente correctamente debido a las diferencias de análisis.
Dicho esto, se seguirán evaluando las direcciones futuras a medida que continúe el despliegue y se comuniquen los errores.
La representación de Markdown en el Nuevo Reddit es notablemente diferente del Antiguo Reddit, y de la mayoría de los sitios web que consumen Markdown, ya que no se representa directamente en HTML a partir de Markdown, sino a través de un formato de documento intermedio, propiedad de Reddit, llamado RTJSON (“Texto enriquecido JSON”). Este formato está diseñado para ser fácilmente consumido y reproducido por todos los clientes de Reddit, de sitios web y móviles, mientras que, en el Antiguo Reddit, los clientes móviles tenían varios problemas para reproducir el contenido Markdown de forma consistente. No se han publicado hasta ahora los detalles del formato RTJSON.
Fundamentos de la transición a CommonMark
El nuevo analizador sintáctico se creó porque el antiguo era difícil de mantener, el código C era fundamental para la seguridad y añadirle nuevas funciones era prohibitivo. El nuevo analizador sintáctico no está escrito en C, por lo que es más fácil de mantener. Además, el nuevo diseño exigía nuevas funciones y la posibilidad de añadir otras en el futuro.
La velocidad de desarrollo en el antiguo analizador sintáctico era efectivamente 0. El nuevo analizador recibe los cambios que sean necesarios, y la mayoría de los cambios no requieren una revisión de seguridad.
El nuevo diseño fue también una oportunidad para actualizar el antiguo dialecto Markdown de Reddit a un dialecto CommonMark basado en estándares modernos, en el que puede recibir los beneficios del desarrollo de las fases previas y el trabajo de estándares, y para ponerse al día con aproximadamente 6 años de evolución de Markdown (mientras que el analizador del Antiguo Reddit estaba estancado). Esta decisión, por supuesto, ha dado lugar a muchas quejas de que ciertas sintaxis del Antiguo Reddit no funcionan en el nuevo Reddit, pero hemos añadido gradualmente la compatibilidad con versiones anteriores para las peculiaridades más comunes.
El Markdown del Nuevo Reddit recibe además varias novedades heredadas de CommonMark, entre las que destacan los saltos de línea con barra invertida final y los bloques de código delimitados por vallas en lugar de sangrías. Durante el período de transición, estas por supuesto no son compatibles con el Antiguo Reddit, pero eventualmente esperaríamos que sean “seguras” para usar sin preocuparnos demasiado por la compatibilidad; los clientes móviles ya entienden la salida del nuevo analizador sintáctico; es solo el antiguo cliente web que no lo entiende (todavía).
Probablemente, la única alternativa seria a la actualización a CommonMark habría sido reescribir completamente el antiguo analizador sintáctico en un lenguaje seguro, conservando todas las peculiaridades específicas de Reddit. Es de suponer que eso no se consideró deseable, tanto por el desmesurado esfuerzo requerido como porque no habría convenido a nadie más que a Reddit. El nuevo analizador sintáctico, por otra parte, se basa en un analizador CommonMark mantenido activamente, que es útil para cualquiera que quiera analizar CommonMark. A largo plazo, comportarse más como CommonMark proporcionará una experiencia más fluida para aquellos que utilizan CommonMark en otros lugares, sobre todo los que son técnicamente adeptos, ya que la gran mayoría de los usuarios de New Reddit utilizan el editor Fancy Pants. Ahora Reddit es capaz de participar en la comunidad de fases previas de CommonMark (y ya ha afectado a las implementaciones de fases previas y a la especificación de CommonMark). Y de nuevo, la combinación de una base de código mantenible y tener un estándar al que ajustarse significa que Reddit puede mantener su analizador al día con los estándares a medida que estos evolucionan.
Diferencias entre el Markdown del Antiguo Reddit, el Markdown del Nuevo Reddit y CommonMark
El nuevo Markdown con estilo Reddit hereda tanto del Markdown estilo Antiguo Reddit como de CommonMark / GFM, pero también difiere de ambos. En esta sección se enumeran las diferencias conocidas entre el Markdown estilo Nuevo Reddit, y el Markdown estilo Antiguo Reddit y CommonMark / GFM. La lista no es exhaustiva.
Las diferencias con respecto al Antiguo Reddit a menudo se heredan de CommonMark. Ten en cuenta que para aquellos que quieran que su contenido se represente con precisión para los usuarios de Antiguo Reddit, se puede optar por no utilizar estas características. (Consulta también "Recomendaciones de compatibilidad para Markdown estilo Reddit".) Las diferencias con CommonMark son a menudo para admitir las “peculiaridades” del Markdown del Antiguo Reddit. Las diferencias con respecto a cualquiera de los dos pueden o no considerarse errores, según quién las considere y cuándo.
Extensiones específicas de Reddit
Texto spoiler: el texto spoiler (
>!spoiler!<
) es específico de Reddit.Superíndice: no hay un estándar de superíndice y Reddit tiene su propia sintaxis, la cual continúa siendo admitida (
^
,^(...)
).Tachado: la sintaxis de Reddit es diferente de la extensión GFM.
Redditlinks y enlaces de usuario: los nombres de subreddits y de usuarios de Reddit, con los prefijos
/r/
,r/
,/u/
, yu/
, son enlazados automáticamente.Medios de texto enriquecido: Reddit admite envíos que contienen imágenes, vídeos y gifs, y estos se codifican en el Markdown con una sintaxis de imagen en línea personalizada. Esta característica solo es compatible con el editor Fancy Pants (la sintaxis sería prohibitivamente difícil de escribir manualmente en la actualidad).
Los párrafos que contienen un solo espacio de ancho cero (
​
) son párrafos vacíos (el espacio de ancho cero se elimina en la reproducción). Esto es compatible con el editor Fancy Pants.
Nuevas características heredadas de CommonMark
Las listas ordenadas pueden escribirse con paréntesis, mientras que el Antiguo Reddit solo admitía listas ordenadas con puntos: (
1)
vs.1.
).Se pueden escribir saltos de línea duros al finalizar las líneas con
\
, mientras que en el Antiguo Reddit solo se admitía esto al finalizar las líneas con un espacio doble. Esta sintaxis es más legible y menos sorpresiva que la de espacio doble.Los bloques de código pueden escribirse con vallas que los rodean, en vez de sangría (
```
o~~~
). Esta popular sintaxis es posiblemente más legible y fácil de escribir que la sintaxis con sangría.
Diferencias con el Markdown estilo Antiguo Reddit
La sintaxis de superíndice entre paréntesis (
^(super duper)
) es analizada de forma más confiable (por ejemplo, los superíndices que contienen enlaces funcionan correctamente) y, una vez que se elimine el antiguo analizador, debería preferirse en general en vez de la sintaxis sin paréntesis. (^super
).El superíndice se analiza de forma ligeramente diferente en los casos extremos, por ejemplo,
^(^b)
.Los múltiples niveles anidados de superíndice se muestran como un solo nivel de superíndice. Es posible que esto se solucione en el futuro.
- Etiqueta: CREATE-1599
New Reddit no analiza correctamente el superíndice sin paréntesis cuando este precede a una palabra que va seguida de un corchete de cierre, un paréntesis de cierre o un énfasis de cierre.
- Etiqueta: CREATE-2474
Los paréntesis sin escapar en los enlaces deben estar equilibrados.
- Debates previos: 1
- Etiqueta: CREATE-1662
Las sublistas requieren al menos dos espacios de sangría para las listas no ordenadas y tres para las listas ordenadas, mientras que en el Antiguo Reddit solo se requería un espacio.
- Debates previos: 1
- Etiqueta: CREATE-1702
La primera celda de encabezado de la tabla no puede estar vacía si no va precedida de una barra vertical (
|
); por ejemplo, lo siguiente no funciona:(esta línea es un hack para abrir un bloque de código del Antiguo Reddit y no forma parte del ejemplo) |B|C -|-|- d|e|f
- Debates previos: 1
- Etiqueta: CREATE-1701
La primera celda del “marcador” de la tabla no puede ser una raya seguida de un espacio si no va precedida de una barra vertical (
|
); si no se la interpretará como el comienzo de una lista. Por ejemplo, lo siguiente no funciona:(esta línea es un hack para abrir un bloque de código del Antiguo Reddit y no forma parte del ejemplo) A | B - | - c | d
- Debates previos: 1
- Etiqueta: CREATE-1708
No es necesario que el texto spoiler esté “flanqueando”; es decir, se analizarán los delimitadores del texto spoiler (
>!
y!<
) como tales, independientemente de su adyacencia a los espacios en blanco y la puntuación.- Debates previos: 1
- Etiqueta: CREATE-1534
No se admite texto spoiler de citas en bloque, es decir, las citas en bloque escritas con
>!
en vez de>
.- Etiqueta: CREATE-1723
La sintaxis de enlace no permite el espacio entre los corchetes (
[]
) y los paréntesis (()
).Más de dos virgulillas (
~
) en sintaxis de tachado, p. ej.a ~~~b~~~ c
se tratan de manera diferente: en el Antiguo Reddit los extras no se consumen, mientras que en el Nuevo Reddit sí. Además, en Nuevo Reddit, más de dos virgulillas al principio de una línea pueden interpretarse como vallas de código.Las líneas que no contienen más que numerales (
#
) se tratan de manera diferente: en el Antiguo Reddit, estas líneas se consumen por completo y no se muestran; en el Nuevo Reddit, 6 o menos numerales se reproducen como un encabezado vacío, y más de 6 se reproducen como un párrafo que contiene numerales.Algunos casos extremos en torno al análisis sintáctico de los enlaces que contienen espacios, específicamente con respecto a su interacción con los títulos de los enlaces, son diferentes.
Hay otros casos de diferencias en el análisis sintáctico de los enlaces, algunos de los cuales se consideran errores y otros sin decidir.
- Debates previos: 1
- Etiqueta: CREATE-2206
Algunos casos de análisis sintáctico de negrita+cursiva "interior de la palabra” (también conocido como strong+emph) son diferentes. Por ejemplo, el Antiguo Reddit analiza
a**_b_**c
como negrita+cursiva mientras que CommonMark no lo hace.- Debates previos: 1
Las listas ordenadas deben empezar por "1". No se admiten otros números de inicio. El Antiguo Reddit analizaba otros números de inicio, aunque siempre mostraba las listas como si empezaran desde el 1.
El nuevo Reddit permite sistemáticamente el énfasis anidado, como
_a __b c b__ d_
, mientras que el Antiguo Reddit lo analiza erróneamente en muchos casos.Los enlaces dentro de enlaces se analizan de forma diferente, por ejemplo,
[[a](http://ejemplo.com)](http://ejemplo.com)
El nuevo texto de los enlaces de Reddit no permite que haya texto spoiler dentro del texto de los enlaces.
- Etiqueta: CREATE-2623
Las listas no ordenadas delimitadas con
+
no funcionan en el Nuevo Reddit. Esto viola las especificaciones de CommonMark.- Etiqueta: CREATE-2403
Los encabezados no pueden contener códigos arbitrarios en las líneas, como cursiva, en Nuevo Reddit. Esto viola las especificaciones de CommonMark.
- Etiqueta: CREATE-2668
Del mismo modo, Nuevo Reddit permite el prefijo de la URL solo como una URL válida, mientras que Antiguo Reddit requiere que el prefijo vaya seguido de otros caracteres.
El contenido de un párrafo seguido de una línea que parece una lista no ordenada se interpreta como el cierre de un párrafo y la apertura de una lista no ordenada, mientras que el Antiguo Reddit continuaba el párrafo.
Las definiciones de enlaces de referencia pueden aparecer dentro de las comillas.
Los tramos de código en línea que contienen comillas simples invertidas pueden estar contenidos con cualquier número de comillas simples invertidas secuenciales, mientras que en el Antiguo Reddit, las comillas simples invertidas más externas tienen que ser la cadena más larga de comillas simples invertidas en el tramo de código.
`` `código` ``
funciona en ambos;` ``código`` `
solo funciona en Nuevo Reddit.Los elementos de bloque anidados (como las listas, las citas en bloque y las tablas) pueden abrirse en la misma línea que los elementos de lista.
Diferencias con CommonMark / GFM
Las imágenes incrustadas no son compatibles con el modo Markdown, solo con el modo Fancy Pants.
La sintaxis de superíndice es como la del Antiguo Reddit, no comrak.
Las listas ordenadas deben empezar por "1". No se admiten otros números de inicio.
Los enlaces pueden contener espacios.
Las líneas que solo contienen numerales (
#
) se tratan de manera diferente.Los encabezados no requieren espacios después de los numerales.
Los encabezados con más de 6 numerales se analizan de manera diferente, como encabezados de nivel 6 con numerales en el texto del encabezado (p. ej.,
#######valhallaforolaf
). En CommonMark, tales construcciones no se analizan como encabezados.Una fila de celdas de tabla puede comenzar con un guion seguido de un espacio, mientras que en CommonMark eso abriría una nueva lista no ordenada:
(esta línea es un hack para abrir un bloque de código del Antiguo Reddit y no forma parte del ejemplo) A | B | C --|---|-- - | e | f
(Sin embargo, ten en cuenta que esto no se aplica actualmente a la fila del “marcador” que sigue a la fila del encabezado; por lo tanto, lo siguiente no se analiza como una tabla,
(esta línea es un hack para abrir un bloque de código del Antiguo Reddit y no forma parte del ejemplo) A | B | C - | - | - - | e | f
mientras que en el Antiguo Reddit, sí.)
El tachado requiere dos virgulillas (
~~
) conforme al Antiguo Reddit, no una, conforme a CommonMark.No se admiten los enlaces relativos.
No se admite HTML en la línea.
Las listas no ordenadas delimitadas con
+
no funcionan en el Nuevo Reddit.Los encabezados no pueden contener códigos arbitrarios en las líneas como cursiva en Nuevo Reddit.
Diferencias en el soporte de contenido entre el Antiguo Reddit y el Nuevo Reddit
En la sección "Dónde usar Markdown en Reddit" se describen las características específicas de Reddit que aceptan Markdown como entrada. Hasta ahora, hay diferencias significativas en el soporte de estos diversos casos entre el Antiguo Reddit y el Nuevo Reddit, el antiguo analizador de Markdown y el nuevo analizador de Markdown.
Estos son los detalles jugosos.
autotexto: mientras que Nuevo Reddit utiliza el nuevo analizador/reproductor de Markdown para reproducir el autotexto en la mayoría de los lugares, incluido en la propia página de ese post y en la "caja de luz" (la ventana emergente que aparece al hacer clic en un post en la página de listado), utiliza el analizador de Markdown antiguo en las vistas previas de los listados, tanto en la vista de tarjeta predeterminada como en "expando" (es decir, los detalles que se abren después de hacer clic en el icono con dos flechas opuestas) en la vista clásica.
wikis: en la actualidad, solo se reproducen a través del antiguo Reddit.
descripción de subreddit: no se interpreta como Markdown en el Nuevo Reddit. Además, el contenido que antes era multilínea se limita a una sola línea.
texto de envío de subreddit:-no se reproducen en absoluto en Nuevo Reddit.
barra lateral del “área de texto” del Nuevo Reddit: utiliza el reproductor del Antiguo Reddit.
reglas de subreddit: siempre se reproducen con el reproductor del Antiguo Reddit.
texto "acerca de" de los perfiles de usuario del nuevo estilo: siempre se reproduce con el reproductor del Antiguo Reddit.
Diferencias entre Fancy Pants y Markdown
El editor WYSIWYG de Fancy Pants generalmente admite la mayoría de las características de Markdown que soporta Reddit, pero tiene algunas limitaciones. Bajo el capó, Fancy Pants almacena sus documentos como Markdown, pero su interfaz no admite todas las características de Markdown de Reddit.
No se pueden introducir entidades HTML en Fancy Pants.
Fancy Pants tiene “límites de anidamiento” mucho más bajos que Markdown sin procesar. Los límites de anidamiento afectan a la profundidad con la que se pueden crear listas anidadas y citas en bloque en el documento.
Los elementos multimedia, como las imágenes y los vídeos, se pueden incrustar en el contenido a través del editor Fancy Pants, pero no en Markdown sin procesar.
Fancy Pants solo admite un único nivel de encabezado.
Fancy Pants no admite la colocación de elementos de bloque arbitrarios como listas, citas en bloque y tablas dentro de listas o citas en bloque.
Fancy Pants no admite definiciones de referencia de enlaces: los enlaces repetidos deben insertarse repetidamente.
Fancy Pants no admite los saltos de línea duros.
Fancy Pants es capaz de crear líneas en blanco, mientras que Markdown no puede hacerlo. Lo hace con un truco compatible con versiones anteriores, al insertar párrafos que contienen un solo espacio de ancho cero (
​
), que el analizador de Markdown convierte posteriormente en un párrafo vacío. Técnicamente, los autores en Markdown pueden hacer el mismo truco.
Aunque la página de envío tiene la opción de cambiar entre los modos Fancy Pants y Markdown, ten cuidado al cambiar de Markdown a Fancy Pants. Aunque se espera que el cambio de Fancy Pants a Markdown sea sin pérdidas, lo inverso no es cierto. Por ejemplo, si tu Markdown contiene entidades HTML, estas se convertirán a simple Unicode durante la conversión, se perderán las listas anidadas profundamente, etc. Además, al volver a Markdown desde Fancy Pants, se perderá el Markdown exacto que introdujiste, y será sustituido por el Markdown generado por Fancy Pants.
Créditos y lecturas adicionales
Un gran agradecimiento a /u/brson por crear este documento y trabajar tan diligentemente para mejorar nuestro analizador sintáctico. La organización básica de esta página y su contenido fueron influenciados por el manual básico de Markdown para Reddit de /u/AnteChrono, el formato de comentarios de Redditde /u/Raerth, la página de la wiki de "comentarios" existente y la página de ayuda de CommonMark.
Citas y referencias utilizadas como ejemplos:
- “Lejos en los remansos inexplorados...” — Douglas Adams
- “Más allá de las ideas de lo que está mal...” “El amor es el todo...”, “No te preocupes por nada...” — Rumi
- “Muy poco se necesita para tener una vida feliz...” — Marco Aurelio
- “En un lugar de la Mancha...” — Miguel de Cervantes
- "Es solo el error..." — Thomas Paine
- “Lo mejor que aprenderás...” — eden ahbez
- "Agamenón, ..." — Esquilo
- “Es tan difícil olvidar el dolor...” — Chuck Palahniuk
- “Sentí que los pulmones se me inflaban...” — Sylvia Plath