608 votes

GitHub joue sataniquement avec Markdown - remplace 666 par DCLXVI

Mon dépôt GitHub n'a rien, mais un readme en elle. Dans ce fichier lisez-moi, en local 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.

L'accent sur la dernière ligne. Ce que GitHub a décidé de montrer était pas 666.

dclxvi

DCLXVI le Chiffre Romain " nombre de 666.

- Ce vraiment effrayée moi. Mon fichier local et le fichier raw montrent tous les deux 666.

Qu'est-ce que GitHub faire, et pourquoi l'indentation de l'onu-liste numérotée foiré? Est-ce un œuf de pâques, ou de certains satanique bug?

391voto

VonC Points 414372

Cela semble être suivie par github/problème de marquage 991, où commandée sous-liste, décimal chiffres se transforme automatiquement en chiffres romains.

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

C'est la manière prévue pour les sous listes ordonnées de faire le rendu en HTML.

Ce n'est pas prévu dans le code HTML. https://jsfiddle.net/tf5jtv8s

Nous n'avons pas d'effectuer des modifications sur le code HTML par défaut de comportement.

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

Je ne connais pas le CSS mais ma compréhension est que c'est la cause du problème. Je peux obtenir le résultat attendu par la désactivation de la CSS. (Je suis sur mon portable donc je ne peux pas utiliser le navigateur de l'inspecteur)

Comme mentionné dans "Un formel de spécification pour GitHub Aromatisé Markdown", GitHub markdown spec GFM: GitHub Aromatisé Markdown Spec est construit sur le haut de la CommonMark Spec.

Et comme Tommi Kaikkonen mentionné dans sa réponse, la liste ordonnée est à cause de la dot suivantes 666. Voir GFM Spec section 5.2.

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

- 666\. ha.

(comme il est expressément indiqué dans ForNeVeR's réponse)

C'est pourquoi qu' 666 d'un changement de numéro en chiffres romains dans un GitHub README de démarque.


Mike Lippert a commenté:

le 1er élément dans la liste donc il doit afficher en tant que i pas dclxvi.
Markdown listes ordonnées ignore le nombre réel utilisé et le nombre de manière séquentielle, et je n'ai pas vu un moyen de changer cela.

Cependant, non: il montre dclxvi, parce que le code html généré est - <ol start="666">, ce qui est cohérent avec le GFM spécifications:

Si l'élément de la liste est ordonnée, il est attribué un nombre de départ, basé sur la liste ordonnée marqueur"

(ici, '666"est la liste ordonnée marqueur)

Mike ajoute:

@VonC Pour quelqu'un d'autre, voici un autre utile extrait de VonC doc lien:

"Le nombre de départ d'une liste ordonnée est déterminé par le numéro de la liste de son premier élément de la liste. Les nombres de la suite des éléments de la liste sont pas pris en compte."


Aussi, pourquoi l'espacement foiré? Je n'ai pas compris que dans votre réponse

Vous obtenez une liste ordonnée <ol> dans une liste ordonnée de l'élément <li>:

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

GitHub règles CSS comprennent:

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

Si vous mettez de l' 3em, vous obtenez
correct padding
au lieu de
wrong padding

357voto

Tommi Kaikkonen Points 1521

Ajouter une période après 666 fait un marqueur de liste ordonnée .

GitHub déclare que CSS rend les marqueurs de liste ordonnée 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.

71voto

ForNeVeR Points 4395

Alors que d'autres réponses sont bonnes à expliquer pourquoi vous avez le problème, ils n'ont pas donné un exemple précis de la façon de corriger cela.

Et il semble que vous avez déjà résolu d'une manière imparfaite, le remplacement de votre texte avec

- `666`. ha.

Il y a un truc commun pour échapper à la dot après le nombre pour le faire paraître comme un texte normal (et non pas une liste ordonnée de l'étiquette):

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X