GitHub gâche de façon satanée avec Markdown – change 666 en DCLXVI

Mon repository GitHub n’a rien d’autre qu’un readme. Dans ce readme, localement j’ai écrit ceci:

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. 

Accent sur la dernière ligne. Ce que GitHub a décidé de montrer n’était pas 666 .

dclxvi

DCLXVI est le nombre romain pour 666 .

Cela m’a vraiment effrayé. Mon fichier local et le fichier brut affichent tous deux 666 .

Que fait GitHub, et pourquoi l’indentation de la liste non numérotée est-elle perturbée? Est-ce un œuf de Pâques ou un insecte satanique?

Cela semble être suivi par le numéro de github / balisage 991 , où les sous-listes ordonnées, les nombres décimaux deviennent automatiquement des chiffres romains.

J’ai trouvé la cause du problème. C’est CSS

C’est la manière attendue pour les listes ordonnées nestedes de rendre en HTML.

Cela n’est pas prévu en HTML. https://jsfiddle.net/tf5jtv8s

Nous n’apportons aucune modification au comportement HTML par défaut.

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

Je ne connais pas le CSS mais je pense que c’est la cause du problème. Je peux obtenir le résultat attendu en désactivant CSS. (Je suis de mon mobile donc je ne peux pas utiliser l’inspecteur de navigateur)

Comme mentionné dans ” Une spécification formelle pour GitHub Flavored Markdown “, la spécification de démarcation GitHub GFM: GitHub Flavored Markdown Spec est construite sur le dessus de la CommonMark Spec .

Et comme Tommi Kaikkonen l’a mentionné dans sa réponse , la liste ordonnée est due au point suivant 666. Voir la section Spéc . GFM 5.2 .

Comme mentionné dans la section 6.1 , tout caractère de ponctuation ASCII peut être échappé pour éviter ce problème.
Cela signifie:

 - 666\. ha. 

(comme indiqué explicitement dans la réponse de ForNeVeR )

C’est pourquoi ce nombre 666 est changé en chiffres romains dans un README GitHub README .


Mike Lippert a commenté:

le premier élément de cette liste, donc il devrait montrer que i ne dclxvi .
Les listes ordonnées de Markdown ignorent le nombre réel utilisé et le nombre séquentiellement, et je n’ai pas vu de moyen de changer cela.

Cependant, non: il affiche dclxvi , car le code HTML généré est

    , ce qui est conforme aux spécifications GFM :

    Si l’élément de la liste est commandé, un numéro de départ lui est atsortingbué, basé sur le marqueur de liste ordonné ”

    (ici, ‘ 666 ‘ est le marqueur de liste ordonné)

    Mike ajoute:

    @VonC Pour quiconque, voici un autre extrait utile du lien de documentation de VonC:

    “Le numéro de départ d’une liste ordonnée est déterminé par le numéro de liste de son élément de liste initial. Les numéros des éléments de liste suivants ne sont pas pris en compte.”


    Aussi, pourquoi l’espacement est-il perturbé? Je n’ai pas compris ça dans ta réponse

    Vous obtenez une liste ordonnée

      dans un élément de liste non ordonné

    1. :

       
        1. ha.

      Les règles CSS de GitHub incluent:

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

      Si vous mettez 3em , vous obtiendrez
      rembourrage correct
      au lieu de
      mauvais rembourrage

      L’ajout d’une période après 666 fait un marqueur de liste ordonné .

      GitHub déclare CSS qui affiche les marqueurs de liste ordonnés en chiffres romains:

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

      Échapper à la période avec une barre oblique inverse, et vous devriez voir la sortie correcte.

      Alors que d’autres réponses expliquent pourquoi vous avez le problème, elles ne vous ont pas donné un exemple précis de la manière de résoudre ce problème .

      Et il semble que vous l’ayez déjà résolu de manière imparfaite , remplaçant votre texte par

       - `666`. ha. 

      Il y a un truc commun pour échapper au point après le numéro pour le faire ressembler à un texte normal (et non une étiquette de liste ordonnée):

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