GitHub сатанински возится с уценкой-изменения 666 на DCLXVI

мой репозиторий GitHub в нем нет ничего, кроме readme. В этом 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 делает, и почему отступ в ненумерованном списке испорчен? Это пасхальное яйцо или какой-то сатанинский Жук?

3 ответов


за этим, кажется, следует GitHub / проблема разметки 991, где в упорядоченном под-списке десятичные цифры автоматически превращаются в римские цифры.

я нашел причину проблемы. Это CSS

это ожидаемый способ отображения вложенных упорядоченных списков в HTML.

это не ожидается в HTML. https://jsfiddle.net/tf5jtv8s

мы не вносим никаких изменений в поведение HTML по умолчанию.

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

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

как говорилось в "формальная спецификация для ароматизированной уценки GitHub", GitHub markdown spec GFM: GitHub ароматизированный Markdown Spec построено поверх CommonMark Spec.

и Кайкконен Томми упомянутые в ответ, упорядоченный список из-за точки после 666. См.спецификация GFM раздел 5.2.

как говорится в 6.1, любой символ пунктуации ASCII может быть обратной косой чертой, чтобы избежать этой проблемы.
Это значит:

- 666\. ha.

(как явным образом показано в ForNeVeRответ)

вот почему 666 номер изменяется на римские цифры в GitHub README уценки.


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

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

однако, нет: он показывает dclxvi, потому что сгенерированный HTML-код <ol start="666">, что соответствует спецификации GFM:

если элемент списка упорядочен, то ему также присваивается начальный номер, основанный на маркере упорядоченного списка"

(здесь, '666 ' - это маркер упорядоченного списка)

Майк добавляет:

@VonC для всех остальных вот еще один полезный отрывок из ссылки doc VonC:

" начальный номер упорядоченного списка определяется номером списка его первоначального элемента списка. Номера последующих пунктов списка не учитываются."


кроме того, почему интервал испорчен? Я не уловил этого в твоем ответе

вы получаете заказанный список <ol> в неупорядоченном списке элемент <li>:

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

правила GitHub CSS включают в себя:

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

если вы ставите 3em вы получили бы
correct padding
вместо
wrong padding


добавление периода после 666 делает упорядоченный список маркер.

GitHub объявляет CSS, который отображает упорядоченные маркеры списка с использованием римских цифр:

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

Escape период с обратной косой чертой, и вы должны увидеть правильный вывод.


в то время как другие ответы хороши в объяснении почему у вас есть проблема, они не дали вам точный пример того, как исправить что.

и кажется, что вы уже решили ее несовершенным образом, заменив текст на

- `666`. ha.

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

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