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 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)