tutorial language examples coloring code github markdown

language - GitHub se mete de forma satánica con Markdown: cambia 666 a DCLXVI



markdown tutorial (3)

Agregar un punto después del 666 convierte en un marcador de lista ordenado .

GitHub declara CSS que representa marcadores de lista ordenados con números romanos:

ol ol,ul ol { list-style-type: lower-roman }

Escape el período con una barra diagonal inversa, y debería ver la salida correcta.

Mi repositorio de GitHub no tiene más que un archivo Léame. En este archivo Léame, localmente escribí esto:

Factoids: - There are about six different ways to do everything in Forked. - There are actually six different ways to enter loops. - There are six directionals and six I/O commands. - 666. ha.

Énfasis en la última línea. Lo que GitHub decidió mostrar no era 666 .

DCLXVI es el número numérico romano para 666 .

Esto realmente me asustó. Mi archivo local y el archivo sin procesar muestran 666 .

¿Qué está haciendo GitHub y por qué la sangría en la lista sin numerar está en mal estado? ¿Es este un huevo de pascua o algún insecto satánico?


Esto parece ser seguido por el problema 991 de github / markup , donde en la sublista ordenada, los números decimales se convierten automáticamente en números romanos.

He encontrado la causa del problema. Es CSS

Esta es la forma esperada para que las listas ordenadas anidadas se procesen en HTML.

Esto no se espera en HTML. https://jsfiddle.net/tf5jtv8s

No hacemos ninguna modificación al comportamiento HTML predeterminado.

ol ol,ul ol{list-style-type:lower-roman}

No conozco CSS, pero entiendo que esta es la causa del problema. Puedo obtener el resultado esperado deshabilitando CSS. (Soy de mi móvil, así que no puedo usar el inspector del navegador)

Como se menciona en " Una especificación formal para GitHub Flavored Markdown ", la especificación de reducción de GitHub GFM: GitHub Flavored Markdown Spec está construida sobre la especificación de CommonMark .

Y como Tommi Kaikkonen mencionó en su respuesta , la lista ordenada se debe al punto que sigue al 666. Consulte la sección 5.2 de las especificaciones de GFM .

Como se menciona en la sección 6.1 , cualquier carácter de puntuación ASCII puede ser una barra invertida, para evitar este problema.
Eso significa:

- 666/. ha.

(como se muestra explícitamente en la answer ForNeVeR )

Es por eso que ese número 666 se cambia a números romanos en una rebaja README GitHub.

Mike Lippert comentó:

el primer elemento de esa lista, por lo que debería mostrarse como no dclxvi .
Las listas ordenadas de Markdown ignoran el número real utilizado y el número secuencialmente, y no he visto una manera de cambiar eso.

Sin embargo, no: muestra dclxvi , porque el código html generado es <ol start="666"> , lo cual es consistente con las especificaciones de GFM :

Si se ordena el elemento de la lista, también se le asigna un número de inicio, basado en el marcador de la lista ordenada "

(aquí, '' 666 '' es el marcador de lista ordenada)

Mike agrega:

@VonC Para cualquier otra persona, aquí hay otro extracto útil del enlace de documentación de VonC:

"El número de inicio de una lista ordenada está determinado por el número de lista de su elemento de lista inicial. Los números de elementos de lista posteriores no se tienen en cuenta".

Además, ¿por qué está mal el espacio? No entendí eso en tu respuesta

Obtiene una lista ordenada <ol> dentro de un elemento de lista no ordenada <li> :

<ul> <li> <ol start="666"> <li>ha.</li> </ol> </li> </ul>

Las reglas de CSS de GitHub incluyen:

.markdown-body ol { padding-left: 2em; }

Si pones 3em , obtendrías

en vez de


Si bien otras respuestas son buenas para explicar por qué tiene el problema, no le han dado un ejemplo exacto de cómo solucionarlo .

Y parece que ya lo resolvió de manera imperfecta , reemplazando su texto con

- `666`. ha.

Hay un truco común para escapar del punto después del número para que parezca un texto normal (y no una etiqueta de lista ordenada):

- 666/. ha. (this will render as you probably want)