GitHub сатанічно возиться з Маркдаун - змінює 666 на DCLXVI


729

У моєму сховищі GitHub в ньому немає нічого, крім readme. У цьому читанні локально я написав це:

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.

Наголос на останньому рядку. Що GitHub вирішив показати, не було 666.

dclxvi

DCLXVIє римським числовим числом за 666 рік .

Це мене справді повзло. Мій локальний файл і неочищений файл показують 666.

Що робить GitHub, і чому псується відступ у ненумерованому списку? Це пасхальне яйце чи якийсь сатанинський клоп?


15
Ви спробували - 5. whateverце перетворити, ·V whateverякщо я бачу це правильно
— Ганс Кох

8
Просто перевірив себе і всі цифри перетворять на римські цифри: github.com/NoahCristino/Forked/tree/…
— Ноа Крістіно

27
@immibis використання дефісів для куль є стандартною відміткою, чи не так?
— ESR

16
@EdmundReed Чи не позначення вкладеного списку також є стандартною відміткою?
— користувач253751

4
Не турбуйтеся і про фактичний номер латиниці. Це число, ймовірно, зовсім не означає, що є загальним розумінням через помилку перекладу.

Відповіді:


474

За цим, мабуть, слідує випуск 991 github / markup , де в упорядкованому під-списку десяткові цифри автоматично перетворюються на римські цифри.

Я знайшов причину проблеми. Це CSS

Це очікуваний спосіб відображення вкладених упорядкованих списків у HTML.

Цього не очікується в HTML. https://jsfiddle.net/tf5jtv8s

Ми не вносимо жодних змін у поведінку HTML за замовчуванням.

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

Я не знаю CSS, але я розумію, що це причина проблеми. Я можу отримати очікуваний результат, відключивши CSS. (Я з мобільного, тому не можу використовувати інспектор браузера)

Як вже згадувалося в " Офіційній специфікації для ароматної відмітки GitHub ", специфікація відмітки GitHub GFM: GitHub Flavored Markdown Spec побудована на версії CommonMark Spec .

І як згадував Томмі Кайконен у своїй відповіді , упорядкований список є через крапку, що слідує за 666. Див. Розділ 5.2 специфікації GFM .

Як зазначено в розділі 6.1 , будь-який розділовий знак ASCII може бути відхилений від нахилу, щоб уникнути цього питання.
Це означає:

- 666\. ha.

(Як явно показано в ForNeVeR «s відповідь )

Ось чому це 666число змінюється на римські цифри у відмітці GitHub README.


Майк Ліпперт прокоментував:

1-й елемент у цьому списку, тому він повинен відображатись як iні dclxvi.
Упорядковані списки відрахувань ігнорують фактичну кількість використаних та послідовно використаних номерів, і я не бачив способу змінити це.

Однак ні: це показує dclxvi, оскільки згенерований html-код є <ol start="666">, що відповідає специфікаціям GFM :

Якщо елемент списку замовлений, йому також присвоюється стартовий номер на основі впорядкованого маркера списку "

(тут ' 666' - упорядкований маркер списку)

Майк додає:

@VonC Для всіх, хтось ще, ось ще один корисний уривок із документа довідки VonC:

"Початковий номер упорядкованого списку визначається номером списку його початкового елемента списку. Номери наступних елементів списку не враховуються."


Крім того, чому розбіг проміжок? Я цього не зрозумів у вашій відповіді

Ви отримуєте впорядкований список <ol>у межах не упорядкованого елемента списку <li>:

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

Правила CSS GitHub включають:

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

Якби поставити 3em, ви отримаєте замість цього
правильна оббивка

неправильна оббивка


10
@MDXF Я підозрюю, що число, за яким слідує крапка, перетворюється в упорядкований список у тому ж рядку , що і впорядкований елемент списку ("-"). Зазвичай <li> і <ol> не повинні відображатися в одній лінії ...
— VonC

@MDXF Я відредагував відповідь точним правилом CSS, яке спричиняє неправильний інтервал.
— VonC

2
Насправді я думаю, що вихід є або покращенням розмітки, про яке я не чув, або помилкою. Так - .666 - упорядкований підпис, ТАКЕ , це 1-й елемент у цьому списку, тому він повинен відображатися як я не dclxvi . Упорядковані списки відрахувань ігнорують фактичну кількість використаних та послідовно використаних номерів, і я не бачив способу змінити це.
— Майк Ліпперт

2
@MikeLippert ні, він відображається на dclxvi, оскільки згенерований код HTML є <ol start="666">, що відповідає github.github.com/gfm/#list-items : "Якщо елемент списку замовлений, то йому також присвоюється стартовий номер, на основі впорядкованого маркера списку "(тут" 666 "- упорядкований маркер списку)
— VonC

2
@VonC Спасибі, я не знав, що розширення для відмітки з ароматом github, і не знайшов його з швидким поглинанням, перш ніж я прокоментував. Для будь-кого іншого ось ще один корисний уривок із посилання на doc VonC "Стартовий номер упорядкованого списку визначається номером списку його початкового елемента списку. Кількість наступних елементів списку не враховується."
— Майк Ліпперт

376

Додавання періоду після цього 666робить його упорядкованим маркером списку .

GitHub оголошує CSS, який надає впорядковані маркери списку, використовуючи римські цифри:

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

Уникніть періоду за допомогою зворотного кута, і ви повинні побачити правильний вихід.


84

Хоча інші відповіді добре пояснюють, чому ви маєте проблему, вони не дали точного прикладу, як це виправити .

І здається, що ви вже вирішили це недосконало , замінивши текст на

- `666`. ha.

Існує загальний трюк, як уникнути крапки після числа, щоб він виглядав як звичайний текст (а не впорядкована мітка списку):

- 666\. ha. (this will render as you probably want)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.