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.